]> git.sur5r.net Git - i3/i3/commitdiff
Bugfix: clear wm_size_hints if they are not set
authorMichael Stapelberg <michael@stapelberg.de>
Wed, 9 Apr 2014 20:14:50 +0000 (22:14 +0200)
committerMichael Stapelberg <michael@stapelberg.de>
Wed, 9 Apr 2014 20:14:50 +0000 (22:14 +0200)
Otherwise, we read random garbage. Found by the testsuite due to
t/185-scratchpad.t failing because a window was incorrectly recognized
as a floating window.

src/manage.c

index 25d387971163ba6eda22c247476f332a605c1049..773c3dfcf67fd00a61a91c13f0e5fd043c73409f 100644 (file)
@@ -198,7 +198,8 @@ void manage_window(xcb_window_t window, xcb_get_window_attributes_cookie_t cooki
     border_style_t motif_border_style = BS_NORMAL;
     window_update_motif_hints(cwindow, xcb_get_property_reply(conn, motif_wm_hints_cookie, NULL), &motif_border_style);
     xcb_size_hints_t wm_size_hints;
-    xcb_icccm_get_wm_size_hints_reply(conn, wm_normal_hints_cookie, &wm_size_hints, NULL);
+    if (!xcb_icccm_get_wm_size_hints_reply(conn, wm_normal_hints_cookie, &wm_size_hints, NULL))
+        memset(&wm_size_hints, '\0', sizeof(xcb_size_hints_t));
     xcb_get_property_reply_t *type_reply = xcb_get_property_reply(conn, wm_type_cookie, NULL);
     xcb_get_property_reply_t *state_reply = xcb_get_property_reply(conn, state_cookie, NULL);