diff options
author | infirit <[email protected]> | 2014-11-22 14:39:13 +0100 |
---|---|---|
committer | infirit <[email protected]> | 2014-11-22 15:13:50 +0100 |
commit | 54bb9d708c43ae6fbeb25888fe39d0b7f14a7631 (patch) | |
tree | 247864a2c367fdf7bbe418f5dbe350de38d0978a /mate-panel/panel-widget.c | |
parent | eddf9c62d300df3e3be0444c060dd3fe75b97643 (diff) | |
download | mate-panel-54bb9d708c43ae6fbeb25888fe39d0b7f14a7631.tar.bz2 mate-panel-54bb9d708c43ae6fbeb25888fe39d0b7f14a7631.tar.xz |
Gtk3: Fix use of deprecated gdk_pointer_grab()/_ungrab()
Replaced gdk_pointer_grab() and gdk_pointer_ungrab()
by gdk_device_grab() and gdk_device_ungrab(), respectively.
Taken from gnome-panel commit: 98da5c1953ab90cc5581c1858d7a9c3d3cf796eb
From: Germán Póo-Caamaño <[email protected]>
Diffstat (limited to 'mate-panel/panel-widget.c')
-rw-r--r-- | mate-panel/panel-widget.c | 34 |
1 files changed, 30 insertions, 4 deletions
diff --git a/mate-panel/panel-widget.c b/mate-panel/panel-widget.c index 5dd4bb43..86382746 100644 --- a/mate-panel/panel-widget.c +++ b/mate-panel/panel-widget.c @@ -2025,16 +2025,28 @@ panel_widget_applet_drag_start (PanelWidget *panel, if (window) { GdkGrabStatus status; GdkCursor *fleur_cursor; +#if GTK_CHECK_VERSION (3, 0, 0) + GdkDisplay *display; + GdkDevice *pointer; + GdkDeviceManager *device_manager; fleur_cursor = gdk_cursor_new (GDK_FLEUR); - status = gdk_pointer_grab (window, FALSE, - APPLET_EVENT_MASK, NULL, - fleur_cursor, time_); + display = gdk_window_get_display (window); + device_manager = gdk_display_get_device_manager (display); + pointer = gdk_device_manager_get_client_pointer (device_manager); + status = gdk_device_grab (pointer, window, + GDK_OWNERSHIP_NONE, FALSE, + APPLET_EVENT_MASK, + fleur_cursor, time_); -#if GTK_CHECK_VERSION (3, 0, 0) g_object_unref (fleur_cursor); #else + fleur_cursor = gdk_cursor_new (GDK_FLEUR); + + status = gdk_pointer_grab (window, FALSE, + APPLET_EVENT_MASK, NULL, + fleur_cursor, time_); gdk_cursor_unref (fleur_cursor); #endif gdk_flush (); @@ -2050,11 +2062,25 @@ panel_widget_applet_drag_start (PanelWidget *panel, void panel_widget_applet_drag_end (PanelWidget *panel) { +#if GTK_CHECK_VERSION (3, 0, 0) + GdkDisplay *display; + GdkDevice *pointer; + GdkDeviceManager *device_manager; +#endif + g_return_if_fail (PANEL_IS_WIDGET (panel)); if (panel->currently_dragged_applet == NULL) return; +#if GTK_CHECK_VERSION (3, 0, 0) + display = gtk_widget_get_display (GTK_WIDGET (panel)); + device_manager = gdk_display_get_device_manager (display); + pointer = gdk_device_manager_get_client_pointer (device_manager); + + gdk_device_ungrab (pointer, GDK_CURRENT_TIME); +#else gdk_pointer_ungrab (GDK_CURRENT_TIME); +#endif gtk_grab_remove (panel->currently_dragged_applet->applet); panel_widget_applet_drag_end_no_grab (panel); panel_toplevel_pop_autohide_disabler (panel->toplevel); |