From eb6ed94c9eac1dae8c943041bc278b9b9e0e26b0 Mon Sep 17 00:00:00 2001 From: Michal Pryc Date: Mon, 19 Apr 2010 13:36:52 +0100 Subject: Bug 615527 - zenity hangs if invalid WINDOWID is specified --- src/util.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/util.c b/src/util.c index 96bf315..8f887f3 100644 --- a/src/util.c +++ b/src/util.c @@ -323,13 +323,14 @@ transient_get_xterm (void) const char *wid_str = g_getenv ("WINDOWID"); if (wid_str) { char *wid_str_end; + int ret; Window wid = strtoul (wid_str, &wid_str_end, 10); if (*wid_str != '\0' && *wid_str_end == '\0' && wid != 0) { XWindowAttributes attrs; gdk_error_trap_push (); - XGetWindowAttributes (GDK_DISPLAY(), wid, &attrs); + ret = XGetWindowAttributes (GDK_DISPLAY(), wid, &attrs); gdk_flush(); - if (gdk_error_trap_pop () != 0) { + if (gdk_error_trap_pop () != 0 || ret == 0) { return None; } return wid; -- cgit v1.2.3-54-g00ecf