gdkdisplay: get the pointer device from the default seat
https://bugzilla.gnome.org/show_bug.cgi?id=762820
This commit is contained in:
@ -601,6 +601,7 @@ gdk_display_get_pointer (GdkDisplay *display,
|
|||||||
GdkModifierType *mask)
|
GdkModifierType *mask)
|
||||||
{
|
{
|
||||||
GdkScreen *default_screen;
|
GdkScreen *default_screen;
|
||||||
|
GdkSeat *default_seat;
|
||||||
GdkWindow *root;
|
GdkWindow *root;
|
||||||
gdouble tmp_x, tmp_y;
|
gdouble tmp_x, tmp_y;
|
||||||
GdkModifierType tmp_mask;
|
GdkModifierType tmp_mask;
|
||||||
@ -611,11 +612,12 @@ gdk_display_get_pointer (GdkDisplay *display,
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
default_screen = gdk_display_get_default_screen (display);
|
default_screen = gdk_display_get_default_screen (display);
|
||||||
|
default_seat = gdk_display_get_default_seat (display);
|
||||||
|
|
||||||
/* We call _gdk_device_query_state() here manually instead of
|
/* We call _gdk_device_query_state() here manually instead of
|
||||||
* gdk_device_get_position() because we care about the modifier mask */
|
* gdk_device_get_position() because we care about the modifier mask */
|
||||||
|
|
||||||
_gdk_device_query_state (display->core_pointer,
|
_gdk_device_query_state (gdk_seat_get_pointer (default_seat),
|
||||||
gdk_screen_get_root_window (default_screen),
|
gdk_screen_get_root_window (default_screen),
|
||||||
&root, NULL,
|
&root, NULL,
|
||||||
&tmp_x, &tmp_y,
|
&tmp_x, &tmp_y,
|
||||||
@ -657,9 +659,13 @@ gdk_display_get_window_at_pointer (GdkDisplay *display,
|
|||||||
gint *win_x,
|
gint *win_x,
|
||||||
gint *win_y)
|
gint *win_y)
|
||||||
{
|
{
|
||||||
|
GdkDevice *pointer;
|
||||||
|
|
||||||
g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL);
|
g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL);
|
||||||
|
|
||||||
return gdk_device_get_window_at_position (display->core_pointer, win_x, win_y);
|
pointer = gdk_seat_get_pointer (gdk_display_get_default_seat (display));
|
||||||
|
|
||||||
|
return gdk_device_get_window_at_position (pointer, win_x, win_y);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -2026,11 +2032,12 @@ gdk_display_warp_pointer (GdkDisplay *display,
|
|||||||
gint x,
|
gint x,
|
||||||
gint y)
|
gint y)
|
||||||
{
|
{
|
||||||
|
GdkDevice *pointer;
|
||||||
|
|
||||||
g_return_if_fail (GDK_IS_DISPLAY (display));
|
g_return_if_fail (GDK_IS_DISPLAY (display));
|
||||||
|
|
||||||
gdk_device_warp (display->core_pointer,
|
pointer = gdk_seat_get_pointer (gdk_display_get_default_seat (display));
|
||||||
screen,
|
gdk_device_warp (pointer, screen, x, y);
|
||||||
x, y);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
gulong
|
gulong
|
||||||
|
|||||||
Reference in New Issue
Block a user