diff options
author | Olivier Fourdan <fourdan@xfce.org> | 2010-02-24 14:04:55 +0100 |
---|---|---|
committer | Olivier Fourdan <fourdan@xfce.org> | 2010-02-24 14:04:55 +0100 |
commit | 6b385d5f53ce84fa05ba66955be0b3f5b7d794e4 (patch) | |
tree | ba828de96865ef36c18bc95a7ca6732b0dd852f2 /src/netwm.c | |
parent | c09471fa5f99207d8356357d63b8da9afcf2f9be (diff) | |
download | xfwm4-6b385d5f53ce84fa05ba66955be0b3f5b7d794e4.tar.gz |
Treat utility and dialog windows with an invalid window for transient as transients for group
Diffstat (limited to 'src/netwm.c')
-rw-r--r-- | src/netwm.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/netwm.c b/src/netwm.c index e9cf07158..0a42f02ef 100644 --- a/src/netwm.c +++ b/src/netwm.c @@ -1248,8 +1248,10 @@ clientWindowType (Client * c) c->type = WINDOW_DIALOG; c->initial_layer = WIN_LAYER_NORMAL; /* Treat DIALOG without transient_for set as transient for group */ - if (c->transient_for == None) + if ((c->transient_for == None) || (!clientGetTransient (c))) { + TRACE ("Invalid transient 0x%lx specified for dialog window 0x%lx (%s)", + c->transient_for, c->window, c->name); c->transient_for = c->screen_info->xroot; } } @@ -1267,8 +1269,10 @@ clientWindowType (Client * c) c->type = WINDOW_UTILITY; c->initial_layer = WIN_LAYER_NORMAL; /* Treat UTILITY without transient_for set as transient for group */ - if (c->transient_for == None) + if ((c->transient_for == None) || (!clientGetTransient (c))) { + TRACE ("Invalid transient 0x%lx specified for utility window 0x%lx (%s)", + c->transient_for, c->window, c->name); c->transient_for = c->screen_info->xroot; } } |