From 547cf089c1593156c8e5c0f767cf7a553039701e Mon Sep 17 00:00:00 2001 From: raveit65 Date: Mon, 8 Aug 2016 00:12:45 +0200 Subject: GTK+-3.20 panel-applet: use GtkSeat instead of deprecated device pointer --- libmate-panel-applet/mate-panel-applet.c | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/libmate-panel-applet/mate-panel-applet.c b/libmate-panel-applet/mate-panel-applet.c index 8fdfe275..a3d6774d 100644 --- a/libmate-panel-applet/mate-panel-applet.c +++ b/libmate-panel-applet/mate-panel-applet.c @@ -936,6 +936,23 @@ mate_panel_applet_button_event (GtkWidget *widget, socket_window = gtk_plug_get_socket_window (GTK_PLUG (widget)); if (event->type == GDK_BUTTON_PRESS) { +#if GTK_CHECK_VERSION (3, 0, 0) +#if GTK_CHECK_VERSION (3, 20, 0) + GdkDisplay *display; + GdkSeat *seat; + + xevent.xbutton.type = ButtonPress; + + display = gdk_display_get_default (); + seat = gdk_display_get_default_seat (display); + + /* X does an automatic pointer grab on button press + * if we have both button press and release events + * selected. + * We don't want to hog the pointer on our parent. + */ + gdk_seat_ungrab (seat); +#else xevent.xbutton.type = ButtonPress; /* X does an automatic pointer grab on button press @@ -943,9 +960,16 @@ mate_panel_applet_button_event (GtkWidget *widget, * selected. * We don't want to hog the pointer on our parent. */ -#if GTK_CHECK_VERSION (3, 0, 0) gdk_device_ungrab (event->device, GDK_CURRENT_TIME); +#endif #else + xevent.xbutton.type = ButtonPress; + + /* X does an automatic pointer grab on button press + * if we have both button press and release events + * selected. + * We don't want to hog the pointer on our parent. + */ gdk_display_pointer_ungrab (gtk_widget_get_display (widget), GDK_CURRENT_TIME); -- cgit v1.2.1