summaryrefslogtreecommitdiff
path: root/mate-panel/applet.c
diff options
context:
space:
mode:
Diffstat (limited to 'mate-panel/applet.c')
-rw-r--r--mate-panel/applet.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/mate-panel/applet.c b/mate-panel/applet.c
index 3d81eab4..fa668e89 100644
--- a/mate-panel/applet.c
+++ b/mate-panel/applet.c
@@ -598,6 +598,9 @@ mate_panel_applet_position_menu (GtkMenu *menu,
{
GtkAllocation allocation;
GtkRequisition requisition;
+#if GTK_CHECK_VERSION(3, 0, 0)
+ GdkDevice *device;
+#endif
GdkScreen *screen;
GtkWidget *parent;
int menu_x = 0;
@@ -618,8 +621,12 @@ mate_panel_applet_position_menu (GtkMenu *menu,
#endif
gdk_window_get_origin (gtk_widget_get_window (applet), &menu_x, &menu_y);
+#if GTK_CHECK_VERSION (3, 0, 0)
+ device = gdk_device_manager_get_client_pointer (gdk_display_get_device_manager (gtk_widget_get_display (applet)));
+ gdk_window_get_device_position(gtk_widget_get_window (applet), device, &pointer_x, &pointer_y, NULL);
+#else
gtk_widget_get_pointer (applet, &pointer_x, &pointer_y);
-
+#endif
gtk_widget_get_allocation (applet, &allocation);
if (!gtk_widget_get_has_window (applet)) {