summaryrefslogtreecommitdiff
path: root/mate-panel/applet.c
diff options
context:
space:
mode:
authorKonstantin Pugin <[email protected]>2014-06-20 00:34:43 +0700
committerKonstantin Pugin <[email protected]>2014-06-20 01:18:57 +0700
commit5185103c7acac7f6f291bbd5f7c969c8809237e7 (patch)
tree0470d3e8d2348b32b7d601435fe2cb90515be080 /mate-panel/applet.c
parente964b756355ad5e66a0166d9ca218bdde2054f6d (diff)
downloadmate-panel-5185103c7acac7f6f291bbd5f7c969c8809237e7.tar.bz2
mate-panel-5185103c7acac7f6f291bbd5f7c969c8809237e7.tar.xz
Fix expanded panels and size allocation
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)) {