diff options
author | Markus Nigbur <pyrania@gentoo.org> | 2004-01-11 15:16:19 +0000 |
---|---|---|
committer | Markus Nigbur <pyrania@gentoo.org> | 2004-01-11 15:16:19 +0000 |
commit | 75826bff4beb5d86e40d35abb95ea7751a50fb8f (patch) | |
tree | 87f5f47d8684ee455a5319eec48c5cd0b957ec10 /x11-wm/fluxbox | |
parent | Applied two important memory leak patches. (diff) | |
download | historical-75826bff4beb5d86e40d35abb95ea7751a50fb8f.tar.gz historical-75826bff4beb5d86e40d35abb95ea7751a50fb8f.tar.bz2 historical-75826bff4beb5d86e40d35abb95ea7751a50fb8f.zip |
Applied two important memory leak patches.
Diffstat (limited to 'x11-wm/fluxbox')
-rw-r--r-- | x11-wm/fluxbox/Manifest | 8 | ||||
-rw-r--r-- | x11-wm/fluxbox/files/0.9.7/01_cache-bugfix.patch | 101 | ||||
-rw-r--r-- | x11-wm/fluxbox/files/0.9.7/02_iconbar-bugfix.patch | 20 | ||||
-rw-r--r-- | x11-wm/fluxbox/files/digest-fluxbox-0.9.7-r1 | 1 | ||||
-rw-r--r-- | x11-wm/fluxbox/fluxbox-0.9.7-r1.ebuild | 56 |
5 files changed, 182 insertions, 4 deletions
diff --git a/x11-wm/fluxbox/Manifest b/x11-wm/fluxbox/Manifest index 0e77db4c0cc4..d0dde667c902 100644 --- a/x11-wm/fluxbox/Manifest +++ b/x11-wm/fluxbox/Manifest @@ -1,8 +1,8 @@ MD5 e16077e6f49f640cabe7d96ab3e8f99f fluxbox-0.1.14-r2.ebuild 1551 MD5 2c62e9868bff0c034d5a9886a0c769ca fluxbox-0.9.6.ebuild 2717 -MD5 68f431b79d6564ab599ecc2bfce59be0 fluxbox-0.9.7-r1.ebuild 1362 -MD5 ba942eaf0d309fb9db71f64dfbb0723e ChangeLog 17489 -MD5 62b56c4890e22fc5bee5b9072856cab4 fluxbox-0.9.7.ebuild 1418 +MD5 d082a7313ea1a1f8761245a6d2a7b2c7 fluxbox-0.9.7-r1.ebuild 1464 +MD5 eb214b12eacd20c7f96b537e522c3662 ChangeLog 17716 +MD5 bf08891f125e95a920428fb3e39f9e83 fluxbox-0.9.7.ebuild 1327 MD5 fb91a86bbf58cb4d7e40f9536c319766 metadata.xml 437 MD5 f0a0494829d2f32f6c17073ebb87f60a files/fluxbox-0.1.13-nls.patch 581 MD5 7a8bd89803849aff22030d86ec1e70cf files/digest-fluxbox-0.9.7-r1 65 @@ -21,5 +21,5 @@ MD5 9a521a2ef9c0942ec02b714c3637e789 files/fluxbox-0.1.13-aa2.patch 1365 MD5 96957d6246f0287f85531f6447a077c7 files/fluxbox-0.1.14-menukey.patch 6267 MD5 5f1cedd6893799695fbbc3a19f5c5cff files/fluxbox-0.1.13-openoffice.patch 525 MD5 ddf99954256a3dc12763651bbf63bf3a files/fluxbox-vano-gentoo.patch 1092 -MD5 7424808e017a905bd1caedcc2e754360 files/0.9.7/01_cache-bugfix.patch 2855 +MD5 5fd48d59ff466458c4f8c219b3e3f549 files/0.9.7/01_cache-bugfix.patch 2877 MD5 a3de6c2a3f2fb7d80f4bc0570c8e6cab files/0.9.7/02_iconbar-bugfix.patch 650 diff --git a/x11-wm/fluxbox/files/0.9.7/01_cache-bugfix.patch b/x11-wm/fluxbox/files/0.9.7/01_cache-bugfix.patch new file mode 100644 index 000000000000..8d38e86e6d81 --- /dev/null +++ b/x11-wm/fluxbox/files/0.9.7/01_cache-bugfix.patch @@ -0,0 +1,101 @@ +Index: src/FbTk/ImageControl.cc +=================================================================== +RCS file: /cvsroot/fluxbox/fluxbox/src/FbTk/ImageControl.cc,v +retrieving revision 1.10 +retrieving revision 1.11 +diff -r1.10 -r1.11 +25c25 +< // $Id: 01_cache-bugfix.patch,v 1.1 2004/01/11 15:16:04 pyrania Exp $ +--- +> // $Id: 01_cache-bugfix.patch,v 1.1 2004/01/11 15:16:04 pyrania Exp $ +148a149 +> +170c171 +< Cache tmp; +--- +> /* Cache tmp; +177,182c178,195 +< CacheList::iterator it = cache.find(&tmp); +< if (it == cache.end()) { +< return None; +< } else { +< (*it)->count++; +< return (*it)->pixmap; +--- +> */ +> CacheList::iterator it = cache.begin(); +> CacheList::iterator it_end = cache.end(); +> for (; it != it_end; ++it) { +> if (((*it)->width == width) && +> ((*it)->height == height) && +> ((*it)->texture == text.type()) && +> ((*it)->pixel1 == text.color().pixel())) { +> if (text.type() & FbTk::Texture::GRADIENT) { +> if ((*it)->pixel2 == text.colorTo().pixel()) { +> (*it)->count++; +> return (*it)->pixmap; +> } +> } else { +> (*it)->count++; +> return (*it)->pixmap; +> } +> } +224c237 +< cache.insert(tmp); +--- +> cache.push_back(tmp); +246,247c259 +< +< if (s_timed_cache) +--- +> if (s_timed_cache) { +249,251c261,262 +< else if (! (*it)->count) +< cleanCache(); +< +--- +> return; +> } +253a265,267 +> if ((*it)->count <= 0) +> cleanCache(); +> +364a379 +> std::list<CacheList::iterator> deadlist; +369d383 +< +371,372d384 +< CacheList::iterator tmp_it = it; +< ++tmp_it; +374c386 +< cache.erase(it); +--- +> deadlist.push_back(it); +377,379c389 +< it = tmp_it; +< if (it == it_end) break; +< } +--- +> } +380a391,397 +> +> std::list<CacheList::iterator>::iterator dead_it = deadlist.begin(); +> std::list<CacheList::iterator>::iterator dead_it_end = deadlist.end(); +> for (; dead_it != dead_it_end; ++dead_it) { +> cache.erase(*dead_it); +> } +> +Index: src/FbTk/ImageControl.hh +=================================================================== +RCS file: /cvsroot/fluxbox/fluxbox/src/FbTk/ImageControl.hh,v +retrieving revision 1.8 +retrieving revision 1.9 +diff -r1.8 -r1.9 +25c25 +< // $Id: 01_cache-bugfix.patch,v 1.1 2004/01/11 15:16:04 pyrania Exp $ +--- +> // $Id: 01_cache-bugfix.patch,v 1.1 2004/01/11 15:16:04 pyrania Exp $ +130c130 +< typedef std::set<Cache *, ltCacheEntry> CacheList; +--- +> typedef std::list<Cache *> CacheList; diff --git a/x11-wm/fluxbox/files/0.9.7/02_iconbar-bugfix.patch b/x11-wm/fluxbox/files/0.9.7/02_iconbar-bugfix.patch new file mode 100644 index 000000000000..28f053951029 --- /dev/null +++ b/x11-wm/fluxbox/files/0.9.7/02_iconbar-bugfix.patch @@ -0,0 +1,20 @@ +Index: src/IconbarTool.cc +=================================================================== +RCS file: /cvsroot/fluxbox/fluxbox/src/IconbarTool.cc,v +retrieving revision 1.26 +diff -r1.26 IconbarTool.cc +383c383 +< void IconbarTool::update(FbTk::Subject *subj) { +--- +> void IconbarTool::update(FbTk::Subject *subj) { +385c385,390 +< if (m_screen.isShuttingdown()) +--- +> if (m_screen.isShuttingdown()) { +> m_screen.clientListSig().detach(this); +> m_screen.iconListSig().detach(this); +> m_screen.currentWorkspaceSig().detach(this); +> if (!m_icon_list.empty()) +> deleteIcons(); +386a392 +> } diff --git a/x11-wm/fluxbox/files/digest-fluxbox-0.9.7-r1 b/x11-wm/fluxbox/files/digest-fluxbox-0.9.7-r1 new file mode 100644 index 000000000000..3fc2225c3f0d --- /dev/null +++ b/x11-wm/fluxbox/files/digest-fluxbox-0.9.7-r1 @@ -0,0 +1 @@ +MD5 43a252b95c63c6be8152e1b021469552 fluxbox-0.9.7.tar.gz 686357 diff --git a/x11-wm/fluxbox/fluxbox-0.9.7-r1.ebuild b/x11-wm/fluxbox/fluxbox-0.9.7-r1.ebuild new file mode 100644 index 000000000000..266402217ca7 --- /dev/null +++ b/x11-wm/fluxbox/fluxbox-0.9.7-r1.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2004 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-wm/fluxbox/fluxbox-0.9.7-r1.ebuild,v 1.1 2004/01/11 15:16:04 pyrania Exp $ + +IUSE="nls xinerama truetype kde gnome" + +DESCRIPTION="Fluxbox is a lightweight windowmanager for X featuring tabs." +SRC_URI="mirror://sourceforge/fluxbox/${P}.tar.gz" +HOMEPAGE="http://www.fluxbox.org" + +# Please note that USE="kde gnome" simply adds support for +# the respective protocols, and does not depend on external libraries. +DEPEND=">=sys-devel/autoconf-2.52 + ${RDEPEND}" +RDEPEND="virtual/x11 + truetype? ( media-libs/freetype ) + nls? ( sys-devel/gettext )" +PROVIDE="virtual/blackbox" + +SLOT="0" +LICENSE="as-is" +KEYWORDS="x86 sparc hppa" + +src_unpack() { + unpack ${A} + cd ${S} + epatch ${FILESDIR}/${PV}/01_cache-bugfix.patch + epatch ${FILESDIR}/${PV}/02_iconbar-bugfix.patch +} + +src_compile() { + econf \ + `use_enable nls` \ + `use_enable xinerama` \ + `use_enable truetype xft` \ + `use_enable kde` \ + `use_enable gnome` \ + --sysconfdir=/etc/X11/${PN} \ + ${myconf} || die "configure failed" + + emake || die "make failed" +} + +src_install() { + dodir /usr/share/fluxbox + make DESTDIR=${D} install || die "make install failed" + dodoc README* AUTHORS TODO* COPYING +} + +pkg_postinst() { + ewarn + ewarn "Please note that this release no longer uses commonbox.eclass" + ewarn "and now installs data files in /usr/share/fluxbox." + ewarn +} + |