summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIoannis Aslanidis <deathwing00@gentoo.org>2006-08-22 13:09:32 +0000
committerIoannis Aslanidis <deathwing00@gentoo.org>2006-08-22 13:09:32 +0000
commit673bc1a022cde0e39897e8247609602bbaaeed7c (patch)
treebdbb12d0c45ce71ece24ef3899ec8622a1425578 /media-gfx/digikam
parentStable on SPARC. (diff)
downloadhistorical-673bc1a022cde0e39897e8247609602bbaaeed7c.tar.gz
historical-673bc1a022cde0e39897e8247609602bbaaeed7c.tar.bz2
historical-673bc1a022cde0e39897e8247609602bbaaeed7c.zip
Memory leak fix added. Resolves bug #144433. Thanks to Peter Gantner for reporting it.
Package-Manager: portage-2.1-r2
Diffstat (limited to 'media-gfx/digikam')
-rw-r--r--media-gfx/digikam/ChangeLog10
-rw-r--r--media-gfx/digikam/Manifest19
-rw-r--r--media-gfx/digikam/digikam-0.9.0_beta1-r1.ebuild95
-rw-r--r--media-gfx/digikam/files/digest-digikam-0.9.0_beta1-r133
-rw-r--r--media-gfx/digikam/files/digikam-0.9.0_beta1-memory-leak-fix.patch71
5 files changed, 223 insertions, 5 deletions
diff --git a/media-gfx/digikam/ChangeLog b/media-gfx/digikam/ChangeLog
index c0d363ff7266..c3e23a076d0d 100644
--- a/media-gfx/digikam/ChangeLog
+++ b/media-gfx/digikam/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for media-gfx/digikam
# Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-gfx/digikam/ChangeLog,v 1.55 2006/08/13 16:26:04 deathwing00 Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-gfx/digikam/ChangeLog,v 1.56 2006/08/22 13:09:32 deathwing00 Exp $
+
+*digikam-0.9.0_beta1-r1 (22 Aug 2006)
+
+ 22 Aug 2006; Ioannis Aslanidis <deathwing00@gentoo.org>
+ +files/digikam-0.9.0_beta1-memory-leak-fix.patch,
+ +digikam-0.9.0_beta1-r1.ebuild:
+ Memory leak fix added. Resolves bug #144433. Thanks to Peter Gantner for
+ reporting it.
*digikam-0.9.0_beta1 (13 Aug 2006)
diff --git a/media-gfx/digikam/Manifest b/media-gfx/digikam/Manifest
index 8fc2efa8fcd8..9e962cf6233f 100644
--- a/media-gfx/digikam/Manifest
+++ b/media-gfx/digikam/Manifest
@@ -1,3 +1,7 @@
+AUX digikam-0.9.0_beta1-memory-leak-fix.patch 2182 RMD160 0cb1ffed1a95f288dc1e3788d085c833d5c464ac SHA1 fc01e4f76aa5a8dceee6d45a67babfa824f5e257 SHA256 5bb5564e97d63f88106c5ee264527fb14967ae2c24d612f58a14d4b48a308b4e
+MD5 d98a7c321df884d1cd99976387989f64 files/digikam-0.9.0_beta1-memory-leak-fix.patch 2182
+RMD160 0cb1ffed1a95f288dc1e3788d085c833d5c464ac files/digikam-0.9.0_beta1-memory-leak-fix.patch 2182
+SHA256 5bb5564e97d63f88106c5ee264527fb14967ae2c24d612f58a14d4b48a308b4e files/digikam-0.9.0_beta1-memory-leak-fix.patch 2182
DIST digikam-0.7.4.tar.bz2 2322119 RMD160 c69b2b90ec56cf5e3f536b017db2310e325927b8 SHA256 38139c41863064d7d388b1d927747392f43f2c97cb55700d7a8f697378cc8cc2
DIST digikam-0.8.1.tar.bz2 3783559 RMD160 36e034cf1ddc783d7c8f9e28899862e1dce6ef0d SHA1 1bd89b9568c5b1edded6632edf73775ef9e798ff SHA256 4f0ad787fe8a4bf651cb1db7b896024fbb6abfd47527a64cb712b18e5ea4d87f
DIST digikam-0.8.2.tar.bz2 4015299 RMD160 6dfc3626d606427e06327c2451010fc50f96df2e SHA1 6305b1c485a3fe82257907410b256966bb012406 SHA256 f6f18c2ad2587cc8477512abb648fed7c9da53ef63dc36e7925e995cf6a2e043
@@ -29,14 +33,18 @@ EBUILD digikam-0.8.2.ebuild 2628 RMD160 bc43e906b5bffb7e616fe2433867f8ba152b3776
MD5 3076d6a3ebb339e76ad6385dbc7bf506 digikam-0.8.2.ebuild 2628
RMD160 bc43e906b5bffb7e616fe2433867f8ba152b3776 digikam-0.8.2.ebuild 2628
SHA256 d76e955e43631555c61c816d4c74b72368ab30d5e9eb1a5bcf537aa28daff25b digikam-0.8.2.ebuild 2628
+EBUILD digikam-0.9.0_beta1-r1.ebuild 2662 RMD160 f890a67ef1fba0d4460e322cefc0a53c64f92ea5 SHA1 710827df8c884923f803edef81e6e97f81e5350b SHA256 ee6bba789ef878336a70da7db4f5f9c40bb21a2c4ac4898e20abcb350cbd5185
+MD5 d9fc45fd6e99f7ea4651f8013c32f347 digikam-0.9.0_beta1-r1.ebuild 2662
+RMD160 f890a67ef1fba0d4460e322cefc0a53c64f92ea5 digikam-0.9.0_beta1-r1.ebuild 2662
+SHA256 ee6bba789ef878336a70da7db4f5f9c40bb21a2c4ac4898e20abcb350cbd5185 digikam-0.9.0_beta1-r1.ebuild 2662
EBUILD digikam-0.9.0_beta1.ebuild 2612 RMD160 7ed8eda95fdabb5f31f220e014d991b858173fb5 SHA1 ef95d2b0fe7d4b2bb54fab50dfb1067df4e50f4c SHA256 7ff61cc8ed3b8cbbb8ef5d899350162f846b550d8fa878e641c1104908cbc931
MD5 2c06e07c4ec2b473a6362c9bdf1681c6 digikam-0.9.0_beta1.ebuild 2612
RMD160 7ed8eda95fdabb5f31f220e014d991b858173fb5 digikam-0.9.0_beta1.ebuild 2612
SHA256 7ff61cc8ed3b8cbbb8ef5d899350162f846b550d8fa878e641c1104908cbc931 digikam-0.9.0_beta1.ebuild 2612
-MISC ChangeLog 8306 RMD160 7a8b102d1076ebd2d25a54fb768317ac4bfdc40e SHA1 172d22a47ac5ac84dda4c8457323e4401c28fb6f SHA256 6d2bf2b45f31f22d728052c39ee444526db3c5e12774b93528f607421e25d902
-MD5 38243a381acb8732b45b7a8c7fff020b ChangeLog 8306
-RMD160 7a8b102d1076ebd2d25a54fb768317ac4bfdc40e ChangeLog 8306
-SHA256 6d2bf2b45f31f22d728052c39ee444526db3c5e12774b93528f607421e25d902 ChangeLog 8306
+MISC ChangeLog 8581 RMD160 416d1e3c4f6e34b77a8327990241f121b0eddfd6 SHA1 1c5b3b342f65688779a5e73ea9f4c72c188014d5 SHA256 6244b262a237ebdf3ff58128d8e39a044613f8ea4235747d4990d7a14d7ef0fd
+MD5 68f7474e77e87e91275f2687f59ac9cc ChangeLog 8581
+RMD160 416d1e3c4f6e34b77a8327990241f121b0eddfd6 ChangeLog 8581
+SHA256 6244b262a237ebdf3ff58128d8e39a044613f8ea4235747d4990d7a14d7ef0fd ChangeLog 8581
MISC metadata.xml 156 RMD160 ecce3b981f150c45ae1e84e2d208e678d6124259 SHA1 b64f7c0b4e5db816d82ad19848f72118af129d35 SHA256 2f4da28506b9d4185f320f67a6191d30c7a921217ed4447ed46ea0bc4aefc79a
MD5 acc03a4b12bb0433a57e95bd253b9501 metadata.xml 156
RMD160 ecce3b981f150c45ae1e84e2d208e678d6124259 metadata.xml 156
@@ -56,3 +64,6 @@ SHA256 46c74f3706f5666ae178f0ac5445dabbba12676e8320913b8f8310114f5464fb files/di
MD5 4dccb644b7dd5baf186336aa138a59a5 files/digest-digikam-0.9.0_beta1 2942
RMD160 2175abd8078f54adf2ec9c73847a03589a7d5f68 files/digest-digikam-0.9.0_beta1 2942
SHA256 7c7101a2d176bc6c351a54c566960338fc91b9922342ff0df35c9544d6da6b9c files/digest-digikam-0.9.0_beta1 2942
+MD5 4dccb644b7dd5baf186336aa138a59a5 files/digest-digikam-0.9.0_beta1-r1 2942
+RMD160 2175abd8078f54adf2ec9c73847a03589a7d5f68 files/digest-digikam-0.9.0_beta1-r1 2942
+SHA256 7c7101a2d176bc6c351a54c566960338fc91b9922342ff0df35c9544d6da6b9c files/digest-digikam-0.9.0_beta1-r1 2942
diff --git a/media-gfx/digikam/digikam-0.9.0_beta1-r1.ebuild b/media-gfx/digikam/digikam-0.9.0_beta1-r1.ebuild
new file mode 100644
index 000000000000..4764cff97cdb
--- /dev/null
+++ b/media-gfx/digikam/digikam-0.9.0_beta1-r1.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-gfx/digikam/digikam-0.9.0_beta1-r1.ebuild,v 1.1 2006/08/22 13:09:32 deathwing00 Exp $
+
+inherit kde
+
+P_DOC="${PN}-doc-0.8.0"
+MY_P="${P/_/-}"
+S="${WORKDIR}/${MY_P}"
+S_DOC="${WORKDIR}/${P_DOC}"
+
+DESCRIPTION="A digital photo management application for KDE."
+HOMEPAGE="http://www.digikam.org/"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86"
+IUSE="nfs doc kdehiddenvisibility exif"
+
+DEPEND=">=media-libs/libgphoto2-2
+ >=dev-db/sqlite-3
+ >=media-libs/libkipi-0.1.1
+ media-libs/tiff
+ sys-libs/gdbm
+ media-gfx/dcraw
+ media-gfx/exiv2
+ media-libs/lcms"
+RDEPEND="${DEPEND}
+ || ( ( kde-base/kgamma kde-base/kamera ) kde-base/kdegraphics )"
+
+need-kde 3.4
+
+LANGS="bg bn br ca cs cy da de el en_GB es et eu fi fr ga gl he hu is it ja km
+lt mk ms mt nb nl nn pa pl pt pt_BR ro ru rw sl sr sr@Latn sv ta tr uk vi zh_CN"
+LANGS_DOC="da es et it nl pt_BR pt sv"
+
+DOC_URI="mirror://sourceforge/digikam/${P_DOC}.tar.bz2"
+SRC_URI="${DOC_URI}"
+
+for lang in ${LANGS}; do
+ IUSE="${IUSE} linguas_${lang}"
+ [[ " ${LANGS_DOC} " != *" ${lang} "* ]] && SRC_URI="!linguas_${lang}? ( ${SRC_URI} )"
+done
+
+for lang in ${LANGS_DOC}; do
+ IUSE="${IUSE} linguas_${lang}"
+ SRC_URI="linguas_${lang}? (
+ mirror://gentoo/${P_DOC}-${lang}.tar.bz2
+ mirror://gentoo/${P_DOC}-gentoo.tar.bz2
+ )
+ !linguas_${lang}? ( ${SRC_URI} )"
+done
+
+SRC_URI="mirror://sourceforge/digikam/${MY_P}.tar.bz2
+ doc? ( linguas_en? ( mirror://gentoo/${P_DOC}-gentoo.tar.bz2 )
+ !linguas_en? ( ${SRC_URI} ) )"
+
+pkg_setup(){
+ slot_rebuild "media-libs/libkipi media-libs/libkexif" && die
+ kde_pkg_setup
+}
+
+src_unpack(){
+ kde_src_unpack
+ rm -f "${S}/configure" "${S_DOC}/configure"
+
+ local MAKE_PO=$(echo "${LINGUAS} ${LANGS}" | fmt -w 1 | sort | uniq -d | tr '\n' ' ')
+ einfo "Enabling translations for: en ${MAKE_PO}"
+ sed -i -e "s:^SUBDIRS =.*:SUBDIRS = . ${MAKE_PO}:" "${S}/po/Makefile.am" || die "sed for locale failed"
+
+ if use doc; then
+ local MAKE_DOC=$(echo "${LINGUAS} ${LANGS_DOC}" | fmt -w 1 | sort | uniq -d | tr '\n' ' ')
+ einfo "Enabling documentation for: en ${LANG_DOCS}"
+ fi
+ epatch ${FILESDIR}/${P}-memory-leak-fix.patch
+}
+
+src_compile(){
+ local myconf
+
+ myconf="$(use_enable nfs nfs-hack)"
+ kde_src_compile
+ myconf=""
+ [[ -d "${S_DOC}" ]] && KDE_S="${S_DOC}" kde_src_compile
+}
+
+src_install(){
+ kde_src_install
+ [[ -d "${S_DOC}" ]] && KDE_S="${S_DOC}" kde_src_install
+
+ # Install the .desktop in FDO's suggested directory
+ dodir /usr/share/applications/kde
+ mv "${D}/usr/share/applnk/Graphics/digikam.desktop" \
+ "${D}/usr/share/applications/kde"
+}
diff --git a/media-gfx/digikam/files/digest-digikam-0.9.0_beta1-r1 b/media-gfx/digikam/files/digest-digikam-0.9.0_beta1-r1
new file mode 100644
index 000000000000..58c58c3de95f
--- /dev/null
+++ b/media-gfx/digikam/files/digest-digikam-0.9.0_beta1-r1
@@ -0,0 +1,33 @@
+MD5 fc3a26a91fd6f715ffb75efe8be06e4e digikam-0.9.0-beta1.tar.bz2 6524485
+RMD160 4328f23262ab70e7260e4bf20eb02dc08d9c5517 digikam-0.9.0-beta1.tar.bz2 6524485
+SHA256 f50b7784d15106fe605b0244ecffac099b50a9106eb552709f85491aeb722e42 digikam-0.9.0-beta1.tar.bz2 6524485
+MD5 a18e5e9a4fd17994da5089ddcd9bc0c1 digikam-doc-0.8.0-da.tar.bz2 50493
+RMD160 50fe4b8deb3c5edb759c3844cf3f52c7f2bcaade digikam-doc-0.8.0-da.tar.bz2 50493
+SHA256 9a0c5a0c8d5e86b5836aba3adb22fbfe50b968b7bd19320c967443fbe1860182 digikam-doc-0.8.0-da.tar.bz2 50493
+MD5 06bcc36d7a4dc42c42978f7d1059c2f3 digikam-doc-0.8.0-es.tar.bz2 10816588
+RMD160 d031a6d0601b2a5a98a7d11762bc32a210b80b82 digikam-doc-0.8.0-es.tar.bz2 10816588
+SHA256 de17de6816895db79b56aaeb2106286ad351e51b1acf124eeaf29e3baeb055a0 digikam-doc-0.8.0-es.tar.bz2 10816588
+MD5 6d2c381f78ea883c4bbc925756012b98 digikam-doc-0.8.0-et.tar.bz2 41384
+RMD160 d7d57533d8cdf7d4919c4107e7baa6c2f77b03c9 digikam-doc-0.8.0-et.tar.bz2 41384
+SHA256 ba02a828fbbeb1243e97195b5a333d12b1b4f88456082b6e615709bd07f20b83 digikam-doc-0.8.0-et.tar.bz2 41384
+MD5 7fa628fe68a39efa27fc73aa7430ea90 digikam-doc-0.8.0-gentoo.tar.bz2 19396732
+RMD160 22ac0d7fa874dc853ab3957a145c54d9737a3d2e digikam-doc-0.8.0-gentoo.tar.bz2 19396732
+SHA256 c0f7448e02378f2ef559b9b0e887327422d849c9ba607a254448dcc00eb3699c digikam-doc-0.8.0-gentoo.tar.bz2 19396732
+MD5 a4d535948f5d738e3030beae99bcc674 digikam-doc-0.8.0-it.tar.bz2 702416
+RMD160 bc89f465e073eb64944ef2a9914bb2291878b365 digikam-doc-0.8.0-it.tar.bz2 702416
+SHA256 07fa5ef11f9544b4f3a2b0be8759ea1d7041d56f9188a15101bb53aae8dca3f3 digikam-doc-0.8.0-it.tar.bz2 702416
+MD5 2c1061c24bbf8482d814b1e1ab8c1c89 digikam-doc-0.8.0-nl.tar.bz2 9764577
+RMD160 30968073fedb980b821f332044194b63873c8785 digikam-doc-0.8.0-nl.tar.bz2 9764577
+SHA256 f8d7d934bc25270686b81183dd1dfd3c43d6f479e9961c3d8218f2ae114b7c15 digikam-doc-0.8.0-nl.tar.bz2 9764577
+MD5 9b71a31b61c5679e699365d21b31d1f5 digikam-doc-0.8.0-pt.tar.bz2 52611
+RMD160 5f5e400f79dcfb5f527afe8cc31de261bd05f421 digikam-doc-0.8.0-pt.tar.bz2 52611
+SHA256 727a21963504cd2b1e3b67bfa7fb872b5f9d45d32f770861b51eceaeff763431 digikam-doc-0.8.0-pt.tar.bz2 52611
+MD5 29d2ae35f8aac6109fd98fb630fcbb4f digikam-doc-0.8.0-pt_BR.tar.bz2 1988378
+RMD160 ddcd056964e48b294e6bfb8a5c1e8f1c7390d0c4 digikam-doc-0.8.0-pt_BR.tar.bz2 1988378
+SHA256 82a036d609ad4bfc2f74d9ec291dd463641d4456b2493f03b15cb16337273391 digikam-doc-0.8.0-pt_BR.tar.bz2 1988378
+MD5 7c76dca73e22ca1457387d740f819b83 digikam-doc-0.8.0-sv.tar.bz2 261061
+RMD160 e682527412ebd4732e5010c6bbbd4619159dd0f3 digikam-doc-0.8.0-sv.tar.bz2 261061
+SHA256 bbbc383c04fb16df562126d4d0523364753d26fbf95291922792e03477c378d0 digikam-doc-0.8.0-sv.tar.bz2 261061
+MD5 b958495f3830949bc9c2cd6fd1cd53e6 digikam-doc-0.8.0.tar.bz2 43156836
+RMD160 94d6abb1e58ba8ed91b11a86608d5dce8c9ba3a2 digikam-doc-0.8.0.tar.bz2 43156836
+SHA256 9aa84a94187e0f40939373b264de7ce73e73be44b976f8b890538a68aa1f3f22 digikam-doc-0.8.0.tar.bz2 43156836
diff --git a/media-gfx/digikam/files/digikam-0.9.0_beta1-memory-leak-fix.patch b/media-gfx/digikam/files/digikam-0.9.0_beta1-memory-leak-fix.patch
new file mode 100644
index 000000000000..450721daf61c
--- /dev/null
+++ b/media-gfx/digikam/files/digikam-0.9.0_beta1-memory-leak-fix.patch
@@ -0,0 +1,71 @@
+--- trunk/extragear/graphics/digikam/digikam/imagepreviewjob.cpp #567459:567460
+@@ -173,6 +173,12 @@
+ stream >> width >> height >> depth;
+ preview = QImage(d->shmaddr, width, height, depth,
+ 0, 0, QImage::IgnoreEndian);
++
++ // The buffer supplied to the QImage constructor above must remain valid
++ // throughout the lifetime of the object.
++ // This is not true, the shared memory will be freed or reused.
++ // If we pass the object around, we must do a deep copy.
++ preview = preview.copy();
+ }
+ else
+ {
+--- trunk/extragear/graphics/digikam/digikam/imagepreviewwidget.cpp #567459:567460
+@@ -91,11 +91,11 @@
+
+ ImagePreviewWidget::~ImagePreviewWidget()
+ {
+- if (!d->previewJob.isNull())
++ if (d->previewJob)
+ d->previewJob->kill();
+-
++
+ d->blinkPreviewTimer->stop();
+-
++
+ delete d;
+ }
+
+@@ -107,6 +107,9 @@
+ d->previewBlink = false;
+ d->blinkPreviewTimer->start(200);
+
++ if (d->previewJob)
++ d->previewJob->kill();
++
+ d->previewJob = new ImagePreviewJob(KURL(path), 1024, AlbumSettings::instance()->getExifRotate());
+
+ connect(d->previewJob, SIGNAL(signalImagePreview(const KURL&, const QImage&)),
+@@ -129,9 +132,16 @@
+ void ImagePreviewWidget::slotGotImagePreview(const KURL&, const QImage& preview)
+ {
+ d->blinkPreviewTimer->stop();
+- d->previewJob = 0;
+ d->preview = preview;
+ d->pixmap = QPixmap(contentsRect().size());
++
++ // It is very important to kill the thumbnail job properly
++ // so that is frees its shared memory. Otherwise the memory
++ // will _never_ be freed, see b.k.o. #131277
++ if (d->previewJob)
++ d->previewJob->kill();
++ d->previewJob = 0;
++
+ updatePixmap();
+ repaint(false);
+ emit previewComplete();
+@@ -140,7 +150,11 @@
+ void ImagePreviewWidget::slotFailedImagePreview(const KURL&)
+ {
+ d->blinkPreviewTimer->stop();
+- d->previewJob = 0;
++
++ if (d->previewJob)
++ d->previewJob->kill();
++ d->previewJob = 0;
++
+ d->preview = QImage();
+ d->pixmap = QPixmap(contentsRect().size());
+ updatePixmap();