summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2002-08-06 22:21:12 +0000
committerDana Jansens <danakj@orodu.net>2002-08-06 22:21:12 +0000
commit00391787e32111fa5c9de606b5edf595846e7513 (patch)
tree409b67abf1714350b59107d50fd9a9856d9f0a19 /src
parentb8c0c7af126928fde8c4bb4a90d10f6d86fd0d75 (diff)
perhaps fix a segfault here
Diffstat (limited to 'src')
-rw-r--r--src/Workspace.cc11
-rw-r--r--src/blackbox.cc2
2 files changed, 7 insertions, 6 deletions
diff --git a/src/Workspace.cc b/src/Workspace.cc
index 4f84cfa7..85f9cdca 100644
--- a/src/Workspace.cc
+++ b/src/Workspace.cc
@@ -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())
diff --git a/src/blackbox.cc b/src/blackbox.cc
index 0e03e178..04e68bb1 100644
--- a/src/blackbox.cc
+++ b/src/blackbox.cc
@@ -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());