diff options
-rw-r--r-- | gdk/x11/gdktestutils-x11.c | 14 |
1 files changed, 14 insertions, 0 deletions
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); |