Merge pull request #3367 from orestisf1993/dragloop_callback

Call dragloop callback on DRAG_SUCCESS
This commit is contained in:
Ingo Bürk 2018-08-21 20:37:56 +02:00 committed by GitHub
commit 6d3fc089f9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 8 additions and 3 deletions

View File

@ -742,9 +742,14 @@ static bool drain_drag_events(EV_P, struct drag_x11_cb *dragloop) {
free(event); free(event);
if (dragloop->result != DRAGGING) { if (dragloop->result != DRAGGING) {
free(last_motion_notify);
ev_break(EV_A_ EVBREAK_ONE); ev_break(EV_A_ EVBREAK_ONE);
return true; if (dragloop->result == DRAG_SUCCESS) {
/* Ensure motion notify events are handled. */
break;
} else {
free(last_motion_notify);
return true;
}
} }
} }
@ -766,7 +771,7 @@ static bool drain_drag_events(EV_P, struct drag_x11_cb *dragloop) {
FREE(last_motion_notify); FREE(last_motion_notify);
xcb_flush(conn); xcb_flush(conn);
return false; return dragloop->result != DRAGGING;
} }
static void xcb_drag_prepare_cb(EV_P_ ev_prepare *w, int revents) { static void xcb_drag_prepare_cb(EV_P_ ev_prepare *w, int revents) {