diff options
author | Colomban Wendling <[email protected]> | 2017-01-20 18:08:19 +0100 |
---|---|---|
committer | lukefromdc <[email protected]> | 2017-01-23 13:49:34 -0500 |
commit | 290a5d6fcdeed499cd6220c62d3e55b51c558a43 (patch) | |
tree | d255c9a61574e5a20ba433fadeae3e073ee2bae3 /applets/notification_area/status-notifier | |
parent | f173f6acf99fc98ac7f10b8bc2bb614581aea518 (diff) | |
download | mate-panel-290a5d6fcdeed499cd6220c62d3e55b51c558a43.tar.bz2 mate-panel-290a5d6fcdeed499cd6220c62d3e55b51c558a43.tar.xz |
status-notifier: Simplify compatibility code for GTK 3.20
Also, that part was quite fragile.
Diffstat (limited to 'applets/notification_area/status-notifier')
4 files changed, 10 insertions, 64 deletions
diff --git a/applets/notification_area/status-notifier/Makefile.am b/applets/notification_area/status-notifier/Makefile.am index 6eab62ee..0b273824 100644 --- a/applets/notification_area/status-notifier/Makefile.am +++ b/applets/notification_area/status-notifier/Makefile.am @@ -16,7 +16,6 @@ AM_CFLAGS = $(WARN_CFLAGS) libstatus_notifier_la_SOURCES = \ sn-compat-gtk.h \ sn-compat-gtk-3.16.h \ - sn-compat-gtk-3.20.h \ sn-compat-gtk-3.22.h \ sn-dbus-menu.c \ sn-dbus-menu.h \ diff --git a/applets/notification_area/status-notifier/sn-compat-gtk-3.20.h b/applets/notification_area/status-notifier/sn-compat-gtk-3.20.h deleted file mode 100644 index c2bda9e6..00000000 --- a/applets/notification_area/status-notifier/sn-compat-gtk-3.20.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright (C) 2016 Colomban Wendling <[email protected]> - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -#ifndef SN_COMPAT_GTK_3_20_H -#define SN_COMPAT_GTK_3_20_H - -#include <gtk/gtk.h> - -#if ! GTK_CHECK_VERSION (3, 20, 0) - -G_BEGIN_DECLS - - -/* WARNING: only meant for typical grabbing management */ - -#define GdkSeat GdkDisplay - -#define gdk_display_get_default_seat(display) \ - (display) - -static inline void -sn_compat_gdk_seat_ungrab (GdkSeat *seat) -{ -#if GTK_CHECK_VERSION (3, 0, 0) - GdkDeviceManager *manager; - GdkDevice *device; - - manager = gdk_display_get_device_manager (seat); - device = gdk_device_manager_get_client_pointer (manager); - - gdk_device_ungrab (device, GDK_CURRENT_TIME); -#else - gdk_display_pointer_ungrab (seat, GDK_CURRENT_TIME); -#endif -} -#define gdk_seat_ungrab sn_compat_gdk_seat_ungrab - - -G_END_DECLS - -#endif /* GTK version */ -#endif diff --git a/applets/notification_area/status-notifier/sn-compat-gtk.h b/applets/notification_area/status-notifier/sn-compat-gtk.h index 7c5fb745..b3640f12 100644 --- a/applets/notification_area/status-notifier/sn-compat-gtk.h +++ b/applets/notification_area/status-notifier/sn-compat-gtk.h @@ -19,7 +19,6 @@ #define SN_COMPAT_GTK_H #include "sn-compat-gtk-3.16.h" -#include "sn-compat-gtk-3.20.h" #include "sn-compat-gtk-3.22.h" #endif diff --git a/applets/notification_area/status-notifier/sn-item.c b/applets/notification_area/status-notifier/sn-item.c index d102a6cc..3a849f91 100644 --- a/applets/notification_area/status-notifier/sn-item.c +++ b/applets/notification_area/status-notifier/sn-item.c @@ -190,8 +190,6 @@ sn_item_button_press_event (GtkWidget *widget, { SnItem *item; SnItemPrivate *priv; - GdkDisplay *display; - GdkSeat *seat; gint x; gint y; @@ -200,14 +198,16 @@ sn_item_button_press_event (GtkWidget *widget, item = SN_ITEM (widget); priv = sn_item_get_instance_private (item); - display = gdk_display_get_default (); - seat = gdk_display_get_default_seat (display); sn_item_get_action_coordinates (item, &x, &y); if (event->button == 2) { - gdk_seat_ungrab (seat); +#if GTK_CHECK_VERSION (3, 20, 0) + gdk_seat_ungrab (gdk_device_get_seat (event->device)); +#else + gdk_device_ungrab (event->device, GDK_CURRENT_TIME); +#endif SN_ITEM_GET_CLASS (item)->secondary_activate (item, x, y); } else if (event->button == 3) @@ -221,7 +221,11 @@ sn_item_button_press_event (GtkWidget *widget, } else { - gdk_seat_ungrab (seat); +#if GTK_CHECK_VERSION (3, 20, 0) + gdk_seat_ungrab (gdk_device_get_seat (event->device)); +#else + gdk_device_ungrab (event->device, GDK_CURRENT_TIME); +#endif SN_ITEM_GET_CLASS (item)->context_menu (item, x, y); } } |