diff options
| author | Alex Valavanis <valavanisalex@gmail.com> | 2017-02-26 17:58:40 +0000 |
|---|---|---|
| committer | Alex Valavanis <valavanisalex@gmail.com> | 2017-02-26 17:58:40 +0000 |
| commit | 5d9c07e014cf054a8936478f6d097805cb2a84f6 (patch) | |
| tree | 58e77a49bd0050fcf01aaabb7089669e30b0b0bf /src/display/sp-canvas.cpp | |
| parent | Gtk+ 3 deprecation fixes (diff) | |
| download | inkscape-5d9c07e014cf054a8936478f6d097805cb2a84f6.tar.gz inkscape-5d9c07e014cf054a8936478f6d097805cb2a84f6.zip | |
sp-canvas: Migrate to seat_grab
(bzr r15548)
Diffstat (limited to 'src/display/sp-canvas.cpp')
| -rw-r--r-- | src/display/sp-canvas.cpp | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/src/display/sp-canvas.cpp b/src/display/sp-canvas.cpp index 623e417c6..9cc9e51a2 100644 --- a/src/display/sp-canvas.cpp +++ b/src/display/sp-canvas.cpp @@ -78,13 +78,13 @@ static void ungrab_default_client_pointer(guint32 const time = GDK_CURRENT_TIME) auto const display = Gdk::Display::get_default(); #if GTK_CHECK_VERSION(3,20,0) - auto const seat = display->get_default_seat(); - auto const device = seat->get_pointer(); + auto const seat = display->get_default_seat(); + seat->ungrab(); #else auto const dm = display->get_device_manager(); auto const device = dm->get_client_pointer(); -#endif device->ungrab(time); +#endif } /** @@ -639,11 +639,17 @@ int sp_canvas_item_grab(SPCanvasItem *item, guint event_mask, GdkCursor *cursor, auto display = gdk_display_get_default(); #if GTK_CHECK_VERSION(3,20,0) auto seat = gdk_display_get_default_seat(display); - auto device = gdk_seat_get_pointer(seat); + gdk_seat_grab(seat, + getWindow(item->canvas), + GDK_SEAT_CAPABILITY_ALL_POINTING, + FALSE, + cursor, + NULL, + NULL, + NULL); #else auto dm = gdk_display_get_device_manager(display); auto device = gdk_device_manager_get_client_pointer(dm); -#endif gdk_device_grab(device, getWindow(item->canvas), @@ -652,6 +658,7 @@ int sp_canvas_item_grab(SPCanvasItem *item, guint event_mask, GdkCursor *cursor, (GdkEventMask)(event_mask & (~(GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK))), cursor, etime); +#endif item->canvas->_grabbed_item = item; item->canvas->_grabbed_event_mask = event_mask; |
