perhaps fix a segfault here
Dana Jansens danakj@orodu.net
2 files changed,
7 insertions(+),
6 deletions(-)
M
src/Workspace.cc
→
src/Workspace.cc
@@ -237,12 +237,13 @@
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())
M
src/blackbox.cc
→
src/blackbox.cc
@@ -712,7 +712,7 @@ if (win) {
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());