From 1cacfa85d0e74386d071de0d910ab93e69ae40d3 Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Sun, 29 Jun 2003 17:29:10 +0000 Subject: [PATCH] add some comments and asserts to make sure I don't ever add this bug again --- openbox/focus.c | 5 ++++- openbox/openbox.c | 4 +++- openbox/stacking.c | 7 ++++++- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/openbox/focus.c b/openbox/focus.c index ad18d974..b8477bcb 100644 --- a/openbox/focus.c +++ b/openbox/focus.c @@ -34,7 +34,6 @@ void focus_startup() XSetWindowAttributes attrib; focus_client = NULL; - focus_cycle_popup = popup_new(TRUE); attrib.override_redirect = TRUE; focus_backup = XCreateWindow(ob_display, ob_root, @@ -43,6 +42,10 @@ void focus_startup() CWOverrideRedirect, &attrib); XMapRaised(ob_display, focus_backup); + /* do this *after* focus_backup is created, since it is used for + stacking */ + focus_cycle_popup = popup_new(TRUE); + /* start with nothing focused */ focus_set_client(NULL); } diff --git a/openbox/openbox.c b/openbox/openbox.c index d9ce9a5d..a2f9688d 100644 --- a/openbox/openbox.c +++ b/openbox/openbox.c @@ -197,6 +197,9 @@ int main(int argc, char **argv) timer_startup(); event_startup(); grab_startup(); + /* focus_backup is used for stacking, so this needs to come before + anything that calls stacking_add */ + focus_startup(); window_startup(); plugin_startup(); /* load the plugins specified in the pluginrc */ @@ -218,7 +221,6 @@ int main(int argc, char **argv) frame_startup(); moveresize_startup(); - focus_startup(); screen_startup(); group_startup(); client_startup(); diff --git a/openbox/stacking.c b/openbox/stacking.c index 2fa4b2e6..643b3118 100644 --- a/openbox/stacking.c +++ b/openbox/stacking.c @@ -61,6 +61,8 @@ static void do_restack(GList *wins, GList *before) for (i = 1, it = wins; it; ++i, it = g_list_next(it)) { win[i] = window_top(it->data); + g_assert(win[i] != None); /* better not call stacking shit before + setting your top level window value */ stacking_list = g_list_insert_before(stacking_list, before, it->data); } @@ -253,7 +255,10 @@ void stacking_lower(ObWindow *window) void stacking_add(ObWindow *win) { StackLayer l; - GList *wins, *it; + GList *wins; + + g_assert(focus_backup != None); /* make sure I dont break this in the + future */ l = window_layer(win); wins = g_list_append(NULL, win); /* list of 1 element */ -- 2.44.0