Fix bugs that crashed gdk_display_close() on x11

* _gdk_device_set_associated_device() did not allow NULL device
* GdkDisplay should dispose device manager to avoid devices
  trying to touch the display in finalize
* GdkDeviceManagerXI did not ref devices in id hash
* GdkDisplayX11 did not ref devices in ->input_devices
This commit is contained in:
Havoc Pennington
2010-09-18 22:57:36 -04:00
committed by Matthias Clasen
parent b837ef5a6d
commit c7d73ee587
7 changed files with 55 additions and 23 deletions

View File

@ -312,6 +312,11 @@ gdk_event_source_dispatch (GSource *source,
static void
gdk_event_source_finalize (GSource *source)
{
GdkEventSource *event_source = (GdkEventSource *)source;
g_list_free (event_source->translators);
event_source->translators = NULL;
event_sources = g_list_remove (event_sources, source);
}