Red Hat Bugzilla – Bug 508915
Calling gtk_window_set_keep_above causes assert in application
Last modified: 2009-12-01 11:16:29 EST
Description of problem:
When creating programs using GTK 2, ig you call gtk_window_set_keep_above, you get a GDK Critical error
Gdk-CRITICAL **: gdk_x11_atom_to_xatom_for_display: assertion `atom != GDK_NONE' failed
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1.Create some code that uses this functon
Works fine in gtk2-2.16.1-6.fc11
As a test case, I'm seeing this when I run the command "audacious FILENAME.mp3" with the following RPMs versions:
This is fixed in 2.16.4; I need to fix some other issue before getting the update out.
The test case from http://bugzilla.gnome.org/show_bug.cgi?id=581709 still gets the failed assertion in 2.16.5.
Created attachment 357332 [details]
I'm guessing that the reason for the assertion in gdk_x11_atom_to_xatom_for_display is that it passes atom to lookup_cached_xatom, which returns None to indicate that atom was not found, but also returns None when atom == GDK_NONE. If that is correct, it suggests that the assertion belongs in lookup_cached_xatom, and that gdk_x11_atom_to_xatom_for_display (and _gdk_x11_precache_atoms) should be careful not to pass GDK_NONE to lookup_cached_xatom.
(In reply to comment #4)
> Created an attachment (id=357332) [details]
> proposed patch
Shoulda mentioned: that patch applies to the code tree from gtk2-2.16.5-1.fc11.src.rpm. It would fail to apply to git master, because that assertion was never inserted there.
gtk2-2.16.6-2.fc11.i586 is out, and I am no longer seeing this message.