diff options
| author | Dana Jansens <danakj@orodu.net> | 2008-02-07 02:06:42 -0500 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2008-02-07 02:06:42 -0500 |
| commit | 5f04ca85ef6a2ebc2d66842e261a676691e9b4de (patch) | |
| tree | 5d28851a47a36a7130426644573f0fe1b1a6b5e8 /openbox/stacking.c | |
| parent | 4435c3a438f092252f563d5fd97dffd440a164db (diff) | |
| parent | 307befd333dd89a990e541c37c8c3717e125dcdf (diff) | |
Merge branch 'backport' into work
Conflicts:
openbox/config.c
Diffstat (limited to 'openbox/stacking.c')
| -rw-r--r-- | openbox/stacking.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/openbox/stacking.c b/openbox/stacking.c index 03a62dd4..3c05df49 100644 --- a/openbox/stacking.c +++ b/openbox/stacking.c @@ -221,6 +221,15 @@ static void restack_windows(ObClient *selected, gboolean raise) GList *modals = NULL; GList *trans = NULL; + if (raise) { + ObClient *p; + + /* if a window is modal for another single window, then raise it to the + top too, the same is done with the focus order */ + while (selected->modal && (p = client_direct_parent(selected))) + selected = p; + } + /* remove first so we can't run into ourself */ it = g_list_find(stacking_list, selected); g_assert(it); |
