After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 630032 - Fix bugs that crashed gdk_display_close() on x11
Fix bugs that crashed gdk_display_close() on x11
Status: RESOLVED FIXED
Product: gtk+
Classification: Platform
Component: .General
unspecified
Other All
: Normal normal
: ---
Assigned To: gtk-bugs
gtk-bugs
Depends on:
Blocks:
 
 
Reported: 2010-09-19 00:58 UTC by Havoc Pennington
Modified: 2010-09-19 03:00 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Fix bugs that crashed gdk_display_close() on x11 (5.08 KB, patch)
2010-09-19 00:58 UTC, Havoc Pennington
none Details | Review

Description Havoc Pennington 2010-09-19 00:58:34 UTC
Basically device manager dispose/finalization/refcounting
was messed up.

The other device backends may still be broken. Not sure
how to test those.
Comment 1 Havoc Pennington 2010-09-19 00:58:36 UTC
Created attachment 170574 [details] [review]
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
Comment 2 Matthias Clasen 2010-09-19 03:00:03 UTC
To test XI2, you have to call gdk_enable_multidevice() before gtk_init(). 

I've made corresponding changes to GdkDeviceManagerXI2 (nuke all devices in dispose instead of finalize).