summaryrefslogtreecommitdiff
path: root/src/netwm.c
diff options
context:
space:
mode:
authorOlivier Fourdan <fourdan@xfce.org>2010-02-24 14:04:55 +0100
committerOlivier Fourdan <fourdan@xfce.org>2010-02-24 14:04:55 +0100
commit6b385d5f53ce84fa05ba66955be0b3f5b7d794e4 (patch)
treeba828de96865ef36c18bc95a7ca6732b0dd852f2 /src/netwm.c
parentc09471fa5f99207d8356357d63b8da9afcf2f9be (diff)
downloadxfwm4-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.c8
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;
}
}