diff --git a/gdk/gdkevents.c b/gdk/gdkevents.c index a4c743d8a3..ddd6c0ec71 100644 --- a/gdk/gdkevents.c +++ b/gdk/gdkevents.c @@ -1634,22 +1634,21 @@ gdk_event_get_device (const GdkEvent *event) case GDK_KEY_RELEASE: { GdkDisplay *display; - GdkDeviceManager *device_manager; GdkDevice *client_pointer; + GdkSeat *seat; g_warning ("Event with type %d not holding a GdkDevice. " "It is most likely synthesized outside Gdk/GTK+\n", event->type); display = gdk_window_get_display (event->any.window); - device_manager = gdk_display_get_device_manager (display); - client_pointer = gdk_device_manager_get_client_pointer (device_manager); + seat = gdk_display_get_default_seat (display); if (event->type == GDK_KEY_PRESS || event->type == GDK_KEY_RELEASE) - return gdk_device_get_associated_device (client_pointer); + return gdk_seat_get_keyboard (seat); else - return client_pointer; + return gdk_seat_get_pointer (seat); } break; default: