summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-06-29 17:29:10 +0000
committerDana Jansens <danakj@orodu.net>2003-06-29 17:29:10 +0000
commit1cacfa85d0e74386d071de0d910ab93e69ae40d3 (patch)
tree4bed7e3662e12487cce96c656351e8fa9aa580dd
parentdd80df31c4ed096e79b45661d62e369df653f76b (diff)
add some comments and asserts to make sure I don't ever add this bug again
-rw-r--r--openbox/focus.c5
-rw-r--r--openbox/openbox.c4
-rw-r--r--openbox/stacking.c7
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 */