Work around issues with events without screens

Just use the default display for copy/free of event data.
Maybe the vfuncs should be moved to GdkDisplayManager.
This commit is contained in:
Matthias Clasen
2010-12-15 02:37:52 -05:00
parent 6c16ddc2d3
commit 536a7c8abb

View File

@ -571,8 +571,7 @@ gdk_event_copy (const GdkEvent *event)
} }
if (gdk_event_is_allocated (event)) if (gdk_event_is_allocated (event))
_gdk_display_event_data_copy (gdk_screen_get_display (new_private->screen), _gdk_display_event_data_copy (gdk_display_get_default (), event, new_event);
event, new_event);
return new_event; return new_event;
} }
@ -589,8 +588,6 @@ gdk_event_copy (const GdkEvent *event)
void void
gdk_event_free (GdkEvent *event) gdk_event_free (GdkEvent *event)
{ {
GdkDisplay *display;
g_return_if_fail (event != NULL); g_return_if_fail (event != NULL);
if (event->any.window) if (event->any.window)
@ -642,8 +639,7 @@ gdk_event_free (GdkEvent *event)
break; break;
} }
display = gdk_screen_get_display (gdk_event_get_screen (event)); _gdk_display_event_data_free (gdk_display_get_default (), event);
_gdk_display_event_data_free (display, event);
g_hash_table_remove (event_hash, event); g_hash_table_remove (event_hash, event);
g_slice_free (GdkEventPrivate, (GdkEventPrivate*) event); g_slice_free (GdkEventPrivate, (GdkEventPrivate*) event);