summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorColomban Wendling <[email protected]>2017-01-20 18:08:19 +0100
committerlukefromdc <[email protected]>2017-01-23 13:49:34 -0500
commit290a5d6fcdeed499cd6220c62d3e55b51c558a43 (patch)
treed255c9a61574e5a20ba433fadeae3e073ee2bae3
parentf173f6acf99fc98ac7f10b8bc2bb614581aea518 (diff)
downloadmate-panel-290a5d6fcdeed499cd6220c62d3e55b51c558a43.tar.bz2
mate-panel-290a5d6fcdeed499cd6220c62d3e55b51c558a43.tar.xz
status-notifier: Simplify compatibility code for GTK 3.20
Also, that part was quite fragile.
-rw-r--r--applets/notification_area/status-notifier/Makefile.am1
-rw-r--r--applets/notification_area/status-notifier/sn-compat-gtk-3.20.h56
-rw-r--r--applets/notification_area/status-notifier/sn-compat-gtk.h1
-rw-r--r--applets/notification_area/status-notifier/sn-item.c16
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);
}
}