diff options
author | Thomas Andersen <phomes@gmail.com> | 2006-04-19 20:55:49 +0000 |
---|---|---|
committer | Elijah Newren <newren@src.gnome.org> | 2006-04-19 20:55:49 +0000 |
commit | 14f120f13194b4e42a2751d0b9db82451667eeeb (patch) | |
tree | 8349d7a1da65f4a998826c4405305ab6a0e7670f | |
parent | c118c501172b4456841837f899d43d6497453861 (diff) | |
download | metacity-14f120f13194b4e42a2751d0b9db82451667eeeb.tar.gz |
warn and ignore if transient_for is set to a non-top-level window. Fixes
2006-04-19 Thomas Andersen <phomes@gmail.com>
* src/window-props.c (reload_transient_for): warn and ignore if
transient_for is set to a non-top-level window. Fixes #335524.
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | src/window-props.c | 11 |
2 files changed, 16 insertions, 0 deletions
@@ -1,3 +1,8 @@ +2006-04-19 Thomas Andersen <phomes@gmail.com> + + * src/window-props.c (reload_transient_for): warn and ignore if + transient_for is set to a non-top-level window. Fixes #335524. + 2006-04-19 Björn Lindqvist <bjourne@gmail.com> * src/frames.c (struct CachedPixels, meta_frames_destroy, diff --git a/src/window-props.c b/src/window-props.c index 63696a11..a1348279 100644 --- a/src/window-props.c +++ b/src/window-props.c @@ -1130,6 +1130,17 @@ reload_transient_for (MetaWindow *window, if (value->type != META_PROP_VALUE_INVALID) window->xtransient_for = value->v.xwindow; + /* Make sure transient_for is valid */ + if (window->xtransient_for != None && + meta_display_lookup_x_window (window->display, + window->xtransient_for) == NULL) + { + window->xtransient_for = None; + meta_warning (_("Invalid WM_TRANSIENT_FOR window 0x%lx specified " + "for %s.\n"), + window->xtransient_for, window->desc); + } + window->transient_parent_is_root_window = window->xtransient_for == window->screen->xroot; |