aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRichard M. Stallman2002-03-14 09:13:28 +0000
committerRichard M. Stallman2002-03-14 09:13:28 +0000
commite7161ad9ffbeece2a11b57b96da62264561cfcd4 (patch)
treed227572d8a3b9275491c7178e79a659e3a8bea06 /src
parent7c3f9166ee1754619df09484a3d30dd0508b0370 (diff)
downloademacs-e7161ad9ffbeece2a11b57b96da62264561cfcd4.tar.gz
emacs-e7161ad9ffbeece2a11b57b96da62264561cfcd4.zip
(x_real_positions): Handle failure in XQueryTree.
Diffstat (limited to 'src')
-rw-r--r--src/xfns.c12
1 files 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)
1176 Window wm_window, rootw; 1176 Window wm_window, rootw;
1177 Window *tmp_children; 1177 Window *tmp_children;
1178 unsigned int tmp_nchildren; 1178 unsigned int tmp_nchildren;
1179 int success;
1179 1180
1180 XQueryTree (FRAME_X_DISPLAY (f), win, &rootw, 1181 success = XQueryTree (FRAME_X_DISPLAY (f), win, &rootw,
1181 &wm_window, &tmp_children, &tmp_nchildren); 1182 &wm_window, &tmp_children, &tmp_nchildren);
1182 XFree ((char *) tmp_children);
1183 1183
1184 had_errors = x_had_errors_p (FRAME_X_DISPLAY (f)); 1184 had_errors = x_had_errors_p (FRAME_X_DISPLAY (f));
1185 1185
1186 /* Don't free tmp_children if XQueryTree failed. */
1187 if (! success)
1188 break;
1189
1190 XFree ((char *) tmp_children);
1191
1186 if (wm_window == rootw || had_errors) 1192 if (wm_window == rootw || had_errors)
1187 break; 1193 break;
1188 1194