]> git.sur5r.net Git - i3/i3/commitdiff
Avoid hazardous casting. 2287/head
authorGuillaume Maudoux <guillaume.maudoux@uclouvain.be>
Mon, 11 Apr 2016 13:00:47 +0000 (15:00 +0200)
committerGuillaume Maudoux <guillaume.maudoux@uclouvain.be>
Mon, 11 Apr 2016 13:00:47 +0000 (15:00 +0200)
src/floating.c

index 094d0e8819442133a9a966bf64bf2a329189b249..17a996385341b8e2e1f27a1306b3ec00558cdeea 100644 (file)
@@ -621,7 +621,7 @@ void floating_resize_window(Con *con, const bool proportional,
         con->scratchpad_state = SCRATCHPAD_CHANGED;
 }
 
-/* As endorsed by “ASSOCIATING CUSTOM DATA WITH A WATCHER” in ev(3) */
+/* Custom data structure used to track dragging-related events. */
 struct drag_x11_cb {
     ev_check check;
 
@@ -643,7 +643,7 @@ struct drag_x11_cb {
 };
 
 static void xcb_drag_check_cb(EV_P_ ev_check *w, int revents) {
-    struct drag_x11_cb *dragloop = (struct drag_x11_cb *)w;
+    struct drag_x11_cb *dragloop = (struct drag_x11_cb *)w->data;
     xcb_motion_notify_event_t *last_motion_notify = NULL;
     xcb_generic_event_t *event;
 
@@ -786,6 +786,7 @@ drag_result_t drag_pointer(Con *con, const xcb_button_press_event_t *event, xcb_
     if (con)
         loop.old_rect = con->rect;
     ev_check_init(check, xcb_drag_check_cb);
+    check->data = &loop;
     main_set_x11_cb(false);
     ev_check_start(main_loop, check);