]> Dogcows Code - chaz/openbox/commitdiff
perhaps fix a segfault here
authorDana Jansens <danakj@orodu.net>
Tue, 6 Aug 2002 22:21:12 +0000 (22:21 +0000)
committerDana Jansens <danakj@orodu.net>
Tue, 6 Aug 2002 22:21:12 +0000 (22:21 +0000)
src/Workspace.cc
src/blackbox.cc

index 4f84cfa7e306587dbae4deb72a9dd9ec39226c7c..85f9cdcad6ba169adbf1071926b5fa6a398e7f94 100644 (file)
@@ -237,12 +237,13 @@ void Workspace::showAll(void) {
 
 void Workspace::hideAll(void) {
   // withdraw in reverse order to minimize the number of Expose events
-  BlackboxWindowList::reverse_iterator it = stackingList.rbegin();
-  const BlackboxWindowList::reverse_iterator end = stackingList.rend();
-  while (it != end) {
+
+  BlackboxWindowList lst(stackingList.rbegin(), stackingList.rend());
+
+  BlackboxWindowList::iterator it = lst.begin();
+  const BlackboxWindowList::iterator end = lst.end();
+  for (; it != end; ++it) {
     BlackboxWindow *bw = *it;
-    ++it; // withdraw removes the current item from the list so we need the next
-          // iterator before that happens
     // not normal windows cant focus from mouse enters anyways, so we dont
     // need to unmap/remap them on workspace changes
     if (! bw->isStuck() || bw->isNormal())
index 0e03e17817ebc9289f31b5d89bb8a95a92ad10da..04e68bb17155720d3bf56e6dc6c539f35f7838b6 100644 (file)
@@ -712,7 +712,7 @@ void Blackbox::process_event(XEvent *e) {
           BScreen *screen = win->getScreen();
 
           if (win->isIconic())
-            win->deiconify(False, True);
+            win->deiconify(False, False);
           if (! win->isStuck() &&
               (win->getWorkspaceNumber() != screen->getCurrentWorkspaceID()))
             screen->changeWorkspaceID(win->getWorkspaceNumber());
This page took 0.024161 seconds and 4 git commands to generate.