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:
		| @ -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); | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user
	 Matthias Clasen
					Matthias Clasen