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/files | |
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/files')
-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 |
3 files changed, 122 insertions, 0 deletions
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 |