fix a rare assert condition (window maps in iconic state but is not allowed to be iconic)
Dana Jansens danakj@orodu.net
1 files changed,
7 insertions(+),
4 deletions(-)
jump to
M
openbox/client.c
→
openbox/client.c
@@ -309,9 +309,6 @@ settings = client_get_settings_state(self);
/* 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,11 +316,17 @@ /* do this after we have a frame.. it uses the frame to help determine the
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 &&