Bug 508915

Summary: Calling gtk_window_set_keep_above causes assert in application
Product: [Fedora] Fedora Reporter: Kevin DeKorte <kdekorte>
Component: gtk2Assignee: Matthias Clasen <mclasen>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 11CC: beland, mclasen
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-12-01 16:16:29 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
proposed patch none

Description Kevin DeKorte 2009-06-30 14:04:32 UTC
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):
gtk2-2.16.2-1.fc11.x86_64

How reproducible:
100%

Steps to Reproduce:
1.Create some code that uses this functon
2.
3.
  
Actual results:
Assertion

Expected results:
No warning

Additional info:
Works fine in gtk2-2.16.1-6.fc11

Comment 1 Christopher Beland 2009-07-17 04:51:57 UTC
As a test case, I'm seeing this when I run the command "audacious FILENAME.mp3" with the following RPMs versions:

gtk2-2.16.2-1.fc11.i586
audacious-1.5.1-9.fc11.i586
audacious-debuginfo-1.5.1-7.fc11.i586
audacious-libs-1.5.1-9.fc11.i586
audacious-plugins-1.5.1-6.fc11.i586
audacious-plugins-freeworld-mp3-1.5.1-2.fc11.i586

Comment 2 Matthias Clasen 2009-07-17 14:57:44 UTC
This is fixed in 2.16.4; I need to fix some other issue before getting the update out.

Comment 3 Peter Bloomfield 2009-08-13 13:21:57 UTC
The test case from http://bugzilla.gnome.org/show_bug.cgi?id=581709 still gets the failed assertion in 2.16.5.

Comment 4 Peter Bloomfield 2009-08-13 14:55:42 UTC
Created attachment 357332 [details]
proposed patch

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.

Comment 5 Peter Bloomfield 2009-08-14 12:32:17 UTC
(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.

Comment 6 Christopher Beland 2009-09-22 17:30:38 UTC
gtk2-2.16.6-2.fc11.i586 is out, and I am no longer seeing this message.

Comment 7 Peter Bloomfield 2009-09-22 20:40:53 UTC
Confirmed.