diff options
| author | Dana Jansens <danakj@orodu.net> | 2008-01-27 20:26:29 -0500 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2008-01-27 23:38:28 -0500 |
| commit | 3b48aa4ea29b4c41037b0f8b02c17e7fa138e31f (patch) | |
| tree | d99f0a2b693be4e999e4d5fb6835956c65d09cd3 /openbox | |
| parent | d7837051412b03ef167744d26043c0413614f85b (diff) | |
fix a rare assert condition (window maps in iconic state but is not allowed to be iconic)
Diffstat (limited to 'openbox')
| -rw-r--r-- | openbox/client.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/openbox/client.c b/openbox/client.c index e5e25567..ba244756 100644 --- a/openbox/client.c +++ b/openbox/client.c @@ -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) && |
