diff options
| author | Dana Jansens <danakj@orodu.net> | 2010-04-20 15:20:46 -0400 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2010-04-20 15:20:46 -0400 |
| commit | a16449adb643d6416cc71af1bb6b5fde93b95cb0 (patch) | |
| tree | 4f57c25cc640c0dadcdff7d67dd945cdaa2d32cc /openbox/client.c | |
| parent | 197ee0ad4732c8668fe38a6b49e0a747866ef3ea (diff) | |
don't change stacking stuff on windows when moving them during the unmanage phase.
Diffstat (limited to 'openbox/client.c')
| -rw-r--r-- | openbox/client.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/openbox/client.c b/openbox/client.c index 605a191f..cc691718 100644 --- a/openbox/client.c +++ b/openbox/client.c @@ -3128,11 +3128,16 @@ void client_configure(ObClient *self, gint x, gint y, gint w, gint h, /* if it moved between monitors, then this can affect the stacking layer of this window or others - for fullscreen windows. also if it changed to/from oldschool fullscreen then its layer may - change */ - if (screen_find_monitor(&self->frame->area) != - screen_find_monitor(&oldframe) || - (final && (client_is_oldfullscreen(self, &oldclient) != - client_is_oldfullscreen(self, &self->area)))) + change + + watch out tho, don't try change stacking stuff if the window is no + longer being managed ! + */ + if (self->managed && + (screen_find_monitor(&self->frame->area) != + screen_find_monitor(&oldframe) || + (final && (client_is_oldfullscreen(self, &oldclient) != + client_is_oldfullscreen(self, &self->area))))) { client_calc_layer(self); } |
