From 9ef87ea11e7d2b50d5222e5429b8a65a0f665162 Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Wed, 8 Jul 2009 18:40:05 +0200 Subject: Handle non-native windows in the gdk test utils We need to add the non-native offset to the root coords when sending events. --- gdk/x11/gdktestutils-x11.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'gdk/x11/gdktestutils-x11.c') diff --git a/gdk/x11/gdktestutils-x11.c b/gdk/x11/gdktestutils-x11.c index 480da4d909..13677b6a42 100644 --- a/gdk/x11/gdktestutils-x11.c +++ b/gdk/x11/gdktestutils-x11.c @@ -86,6 +86,7 @@ gdk_test_simulate_key (GdkWindow *window, { GdkScreen *screen; GdkKeymapKey *keys = NULL; + GdkWindowObject *priv; gboolean success; gint n_keys = 0; XKeyEvent xev = { @@ -104,6 +105,12 @@ gdk_test_simulate_key (GdkWindow *window, x /= 2; y /= 2; } + + priv = (GdkWindowObject *)window; + /* Convert to impl coordinates */ + x = x + priv->abs_x; + y = y + priv->abs_y; + xev.type = key_pressrelease == GDK_KEY_PRESS ? KeyPress : KeyRelease; xev.display = GDK_DRAWABLE_XDISPLAY (window); xev.window = GDK_WINDOW_XID (window); @@ -190,6 +197,7 @@ gdk_test_simulate_button (GdkWindow *window, 1, /* send_event */ }; gboolean success; + GdkWindowObject *priv; g_return_val_if_fail (button_pressrelease == GDK_BUTTON_PRESS || button_pressrelease == GDK_BUTTON_RELEASE, FALSE); g_return_val_if_fail (window != NULL, FALSE); @@ -203,6 +211,12 @@ gdk_test_simulate_button (GdkWindow *window, x /= 2; y /= 2; } + + priv = (GdkWindowObject *)window; + /* Convert to impl coordinates */ + x = x + priv->abs_x; + y = y + priv->abs_y; + xev.type = button_pressrelease == GDK_BUTTON_PRESS ? ButtonPress : ButtonRelease; xev.display = GDK_DRAWABLE_XDISPLAY (window); xev.window = GDK_WINDOW_XID (window); -- cgit v1.2.1