all repos — openbox @ 00391787e32111fa5c9de606b5edf595846e7513

openbox fork - make it a bit more like ryudo

perhaps fix a segfault here
Dana Jansens danakj@orodu.net
commit

00391787e32111fa5c9de606b5edf595846e7513

parent

b8c0c7af126928fde8c4bb4a90d10f6d86fd0d75

2 files changed, 7 insertions(+), 6 deletions(-)

jump to
M src/Workspace.ccsrc/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.ccsrc/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());