* If the event contains a "device" field, this function will return
* it, else it will return %NULL.
*
- * Returns: a #GdkDevice, or %NULL.
+ * Returns: (transfer none): a #GdkDevice, or %NULL.
*
* Since: 3.0
**/
{
GdkDisplay *display;
GdkDevice *core_pointer;
+ GdkDeviceManager *device_manager;
g_warning ("Event with type %d not holding a GdkDevice. "
"It is most likely synthesized outside Gdk/GTK+\n",
event->type);
display = gdk_drawable_get_display (event->any.window);
- core_pointer = gdk_display_get_core_pointer (display);
+ device_manager = gdk_display_get_device_manager (display);
+ core_pointer = gdk_device_manager_get_client_pointer (device_manager);
if (event->type == GDK_KEY_PRESS ||
event->type == GDK_KEY_RELEASE)
switch (((GdkWindowObject*) window)->window_type)
{
case GDK_WINDOW_TOPLEVEL:
- case GDK_WINDOW_DIALOG:
case GDK_WINDOW_TEMP: /* ? */
gdk_display_put_event (gdk_drawable_get_display (window), &temp_event);
break;
display->double_click_distance = distance;
}
-GType
-gdk_event_get_type (void)
-{
- static GType our_type = 0;
-
- if (our_type == 0)
- our_type = g_boxed_type_register_static (g_intern_static_string ("GdkEvent"),
- (GBoxedCopyFunc)gdk_event_copy,
- (GBoxedFreeFunc)gdk_event_free);
- return our_type;
-}
+G_DEFINE_BOXED_TYPE (GdkEvent, gdk_event,
+ gdk_event_copy,
+ gdk_event_free)
/**
* gdk_setting_get: