summaryrefslogtreecommitdiffstats
path: root/unix/tkUnixWm.c
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2012-08-23 21:40:24 (GMT)
committerdgp <dgp@users.sourceforge.net>2012-08-23 21:40:24 (GMT)
commitdceb6487b9e195d99e186db8c19889c67632e7dd (patch)
treeb19816dc407b206d638671323e89336484bb8e41 /unix/tkUnixWm.c
parent3e015bc690d012c2d7a83be914babd37cbd259c0 (diff)
downloadtk-dceb6487b9e195d99e186db8c19889c67632e7dd.zip
tk-dceb6487b9e195d99e186db8c19889c67632e7dd.tar.gz
tk-dceb6487b9e195d99e186db8c19889c67632e7dd.tar.bz2
3554026,3561016 Stop crash with tearoff menus.
Diffstat (limited to 'unix/tkUnixWm.c')
-rw-r--r--unix/tkUnixWm.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/unix/tkUnixWm.c b/unix/tkUnixWm.c
index cb5b643..fa130a1 100644
--- a/unix/tkUnixWm.c
+++ b/unix/tkUnixWm.c
@@ -6276,6 +6276,13 @@ TkSetTransientFor(tkwin, parent)
while (!Tk_IsTopLevel(parent))
parent = Tk_Parent(tkwin);
}
+ /*
+ * Prevent crash due to incomplete initialization, or other problems.
+ * [Bugs 3554026, 3561016]
+ */
+ if (((TkWindow *)parent)->wmInfoPtr->wrapperPtr == NULL) {
+ return;
+ }
XSetTransientForHint(Tk_Display(tkwin),
((TkWindow *)tkwin)->wmInfoPtr->wrapperPtr->window,
((TkWindow *)parent)->wmInfoPtr->wrapperPtr->window);