]> git.sur5r.net Git - i3/i3/blobdiff - src/floating.c
replace remaining printf()s with D?LOG
[i3/i3] / src / floating.c
index 1c35c8d0e854bb3364bd47e761dd26224b36e040..4180ba724903ea7494407016ef9ffdb77a7a6e99 100644 (file)
@@ -682,6 +682,8 @@ drag_result_t drag_pointer(Con *con, const xcb_button_press_event_t *event, xcb_
     /* Grab the pointer */
     xcb_grab_pointer_cookie_t cookie;
     xcb_grab_pointer_reply_t *reply;
+    xcb_generic_error_t *error;
+
     cookie = xcb_grab_pointer(conn,
         false,               /* get all pointer events specified by the following mask */
         root,                /* grab the root window */
@@ -692,8 +694,9 @@ drag_result_t drag_pointer(Con *con, const xcb_button_press_event_t *event, xcb_
         xcursor,             /* possibly display a special cursor */
         XCB_CURRENT_TIME);
 
-    if ((reply = xcb_grab_pointer_reply(conn, cookie, NULL)) == NULL) {
-        ELOG("Could not grab pointer\n");
+    if ((reply = xcb_grab_pointer_reply(conn, cookie, &error)) == NULL) {
+        ELOG("Could not grab pointer (error_code = %d)\n", error->error_code);
+        free(error);
         return DRAG_ABORT;
     }
 
@@ -711,8 +714,10 @@ drag_result_t drag_pointer(Con *con, const xcb_button_press_event_t *event, xcb_
             XCB_GRAB_MODE_ASYNC /* keyboard mode */
             );
 
-    if ((keyb_reply = xcb_grab_keyboard_reply(conn, keyb_cookie, NULL)) == NULL) {
-        ELOG("Could not grab keyboard\n");
+    if ((keyb_reply = xcb_grab_keyboard_reply(conn, keyb_cookie, &error)) == NULL) {
+        ELOG("Could not grab keyboard (error_code = %d)\n", error->error_code);
+        free(error);
+        xcb_ungrab_pointer(conn, XCB_CURRENT_TIME);
         return DRAG_ABORT;
     }