summaryrefslogtreecommitdiff
path: root/gdk/gdkdevice.c
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2011-01-03 17:16:20 +0100
committerBenjamin Otte <otte@redhat.com>2011-01-03 17:44:24 +0100
commit6e18276f521e827df5e4079fec4d334e9cf5ed56 (patch)
treed9df7f17e54de818c84908c02790fb725a2f668c /gdk/gdkdevice.c
parent22676022954a80759f36624a9226cae1eb662e4b (diff)
downloadgtk+-6e18276f521e827df5e4079fec4d334e9cf5ed56.tar.gz
gdk: Move get_device_state out of the display hooks
Previous callers now use _gdk_device_query_state() directly.
Diffstat (limited to 'gdk/gdkdevice.c')
-rw-r--r--gdk/gdkdevice.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/gdk/gdkdevice.c b/gdk/gdkdevice.c
index 3e78fc0035..e8fdeabdb0 100644
--- a/gdk/gdkdevice.c
+++ b/gdk/gdkdevice.c
@@ -416,19 +416,25 @@ gdk_device_get_position (GdkDevice *device,
gint *x,
gint *y)
{
- GdkScreen *tmp_screen;
GdkDisplay *display;
gint tmp_x, tmp_y;
- GdkModifierType tmp_mask;
+ GdkScreen *default_screen;
+ GdkWindow *root;
g_return_if_fail (GDK_IS_DEVICE (device));
g_return_if_fail (gdk_device_get_source (device) != GDK_SOURCE_KEYBOARD);
display = gdk_device_get_display (device);
- display->device_hooks->get_device_state (display, device, &tmp_screen, &tmp_x, &tmp_y, &tmp_mask);
+ default_screen = gdk_display_get_default_screen (display);
+
+ _gdk_device_query_state (device,
+ gdk_screen_get_root_window (default_screen),
+ &root, NULL,
+ &tmp_x, &tmp_y,
+ NULL, NULL, NULL);
if (screen)
- *screen = tmp_screen;
+ *screen = gdk_window_get_screen (root);
if (x)
*x = tmp_x;
if (y)