From 0050fd7d8bdca8df78312895028c6616566f1aab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20H=C3=B8gsberg?= Date: Tue, 27 Dec 2011 23:01:23 -0500 Subject: [PATCH] x11: Handle BadWindow errors --- compositor/xserver-launcher.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/compositor/xserver-launcher.c b/compositor/xserver-launcher.c index 1812472c..3a4cc347 100644 --- a/compositor/xserver-launcher.c +++ b/compositor/xserver-launcher.c @@ -201,6 +201,9 @@ dump_window_properties(struct wlsc_wm *wm, xcb_window_t window) list_cookie = xcb_list_properties(wm->conn, window); list_reply = xcb_list_properties_reply(wm->conn, list_cookie, NULL); + if (!list_reply) + /* Bad window, typically */ + return; length = xcb_list_properties_atoms_length(list_reply); atoms = xcb_list_properties_atoms(list_reply); @@ -608,6 +611,10 @@ wlsc_wm_handle_map_notify(struct wlsc_wm *wm, xcb_generic_event_t *event) for (i = 0; i < ARRAY_LENGTH(props); i++) { reply = xcb_get_property_reply(wm->conn, cookie[i], NULL); + if (!reply) + /* Bad window, typically */ + continue; + p = ((char *) window + props[i].offset); switch (props[i].type) {