summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJasper St. Pierre <jstpierre@mecheye.net>2014-05-22 10:47:58 -0400
committerJasper St. Pierre <jstpierre@mecheye.net>2014-05-22 11:17:33 -0400
commit6c3712599cd7fffdbf000815752fb2c00f003938 (patch)
treee354acfb8e152317cdd1d2fd3bd53296cfb4b90c
parent695ee3fc197950f81d55f259d3baf447216bd4b8 (diff)
downloadgtk+-6c3712599cd7fffdbf000815752fb2c00f003938.tar.gz
gdkwindow-x11: Pass through the x/y coordinates to _GTK_SHOW_WINDOW_MENU
We accept these now.
-rw-r--r--gdk/x11/gdkwindow-x11.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c
index d3120a65dd..6926351bf3 100644
--- a/gdk/x11/gdkwindow-x11.c
+++ b/gdk/x11/gdkwindow-x11.c
@@ -5709,6 +5709,7 @@ gdk_x11_window_show_window_menu (GdkWindow *window,
GdkDisplay *display = GDK_WINDOW_DISPLAY (window);
GdkDevice *device;
int device_id;
+ double x_root, y_root;
XClientMessageEvent xclient = { 0 };
switch (event->type)
@@ -5726,6 +5727,8 @@ gdk_x11_window_show_window_menu (GdkWindow *window,
device = gdk_event_get_device (event);
+ gdk_event_get_root_coords (event, &x_root, &y_root);
+
g_object_get (G_OBJECT (device),
"device-id", &device_id,
NULL);
@@ -5734,6 +5737,8 @@ gdk_x11_window_show_window_menu (GdkWindow *window,
xclient.window = GDK_WINDOW_XID (window);
xclient.message_type = gdk_x11_get_xatom_by_name_for_display (display, "_GTK_SHOW_WINDOW_MENU");
xclient.data.l[0] = device_id;
+ xclient.data.l[1] = x_root;
+ xclient.data.l[2] = y_root;
xclient.format = 32;
XSendEvent (GDK_DISPLAY_XDISPLAY (display), GDK_WINDOW_XROOTWIN (window), False,