]> Dogcows Code - chaz/openbox/commitdiff
fix a rare assert condition (window maps in iconic state but is not allowed to be...
authorDana Jansens <danakj@orodu.net>
Mon, 28 Jan 2008 01:26:29 +0000 (20:26 -0500)
committerDana Jansens <danakj@orodu.net>
Mon, 28 Jan 2008 04:38:28 +0000 (23:38 -0500)
openbox/client.c

index e5e2556789281e662090133a78d39d1283378fd0..ba2447567bc2fb7c1e28a26a94af50dbb4e54d45 100644 (file)
@@ -309,9 +309,6 @@ void client_manage(Window window)
     /* the session should get the last say though */
     client_restore_session_state(self);
 
-    /* now we have all of the window's information so we can set this up */
-    client_setup_decor_and_functions(self, FALSE);
-
     /* tell startup notification that this app started */
     launch_time = sn_app_started(self->startup_id, self->class, self->name);
 
@@ -319,12 +316,18 @@ void client_manage(Window window)
        WM_STATE to apply. */
     client_change_state(self);
 
-    /* add ourselves to the focus order */
+    /* add ourselves to the focus order. do this before
+       setup_decor_and_functions.  if the window is mapping in a state that is
+       not allowed, then it will be adjusted, and that can change its position
+       in the focus order (deiconify for example) */
     focus_order_add_new(self);
 
     /* do this to add ourselves to the stacking list in a non-intrusive way */
     client_calc_layer(self);
 
+    /* now we have all of the window's information so we can set this up */
+    client_setup_decor_and_functions(self, FALSE);
+
     /* focus the new window? */
     if (ob_state() != OB_STATE_STARTING &&
         (!self->session || self->session->focused) &&
This page took 0.030324 seconds and 4 git commands to generate.