From e7161ad9ffbeece2a11b57b96da62264561cfcd4 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Thu, 14 Mar 2002 09:13:28 +0000 Subject: [PATCH] (x_real_positions): Handle failure in XQueryTree. --- src/xfns.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/xfns.c b/src/xfns.c index 8b7304025d7..23d85d10e24 100644 --- a/src/xfns.c +++ b/src/xfns.c @@ -1176,13 +1176,19 @@ x_real_positions (f, xptr, yptr) Window wm_window, rootw; Window *tmp_children; unsigned int tmp_nchildren; + int success; - XQueryTree (FRAME_X_DISPLAY (f), win, &rootw, - &wm_window, &tmp_children, &tmp_nchildren); - XFree ((char *) tmp_children); + success = XQueryTree (FRAME_X_DISPLAY (f), win, &rootw, + &wm_window, &tmp_children, &tmp_nchildren); had_errors = x_had_errors_p (FRAME_X_DISPLAY (f)); + /* Don't free tmp_children if XQueryTree failed. */ + if (! success) + break; + + XFree ((char *) tmp_children); + if (wm_window == rootw || had_errors) break; -- 2.39.2