maemo.org Bugzilla – Full Text Bug Listing
|Summary:||HildonAppMenu doesn't show when another top level widget is around|
|Product:||[Maemo Official Platform] Desktop platform||Reporter:||Luca Donaggio <donaggio>|
|Component:||hildon-widgets||Assignee:||Alberto Garcia Gonzalez <agarcia>|
|Status:||VERIFIED FIXED||QA Contact:||hildon-libs-bugs|
|Priority:||Low||CC:||agarcia, andre_klapper, csaavedra, eopage|
Sample C code to showcase HildonAppMenu behaviour
Close the menu only when a modal window appears
SOFTWARE VERSION: Maemo 5 SDK Final EXACT STEPS LEADING TO PROBLEM: 1. Create a HildonProgram with a HildonWindow and HildonAppMenu 2. Show an undecorated top level GtkWindow somewhere over the HildonWindow and make it transient for it 3. Click on the HildonWindow title bar EXPECTED OUTCOME: HildonAppMenu should appear ACTUAL OUTCOME: It indeed begins to appear, but it immediatly disappears REPRODUCIBILITY: always EXTRA SOFTWARE INSTALLED: OTHER COMMENTS: It seems to depend from this function inside hildon-app-menu.c from lines 494 onwards: static gboolean hildon_app_menu_find_intruder (gpointer data) It hides the HildonAppMenu if there's another top level widget around. This prevents an app to have nice-looking, cairo-based, semi-transparent widgets floating over the application's main HildonWindow. User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:18.104.22.168) Gecko/2009102815 Ubuntu/9.04 (jaunty) Firefox/3.0.15
Created an attachment (id=1658) [details] Sample C code to showcase HildonAppMenu behaviour This code creates an HildonProgram, adds an HildonWindow and an HildonAppMenu, writes something inside a GtkLabel to add a visible background to the main HildonWindow, creates a transparent, undecorated, pop-up window on top of the HildonWindow and writes something in it as well. By clicking on the holdonWindow title bar you can see for a brief moment the HildonAppMenu appearing, then it disappers.
I'm not sure if this can be fixed anyhow. The use case you describe is sort of a hack.
Unfortunately I have other priorities right now but previously I had issues running an AppMenu with Dialcentral/ejpi/Gonvert and I wonder if it is related.
(In reply to comment #0) > It seems to depend from this function inside hildon-app-menu.c from > lines 494 onwards: > > static gboolean > hildon_app_menu_find_intruder (gpointer data) Yes, that was introduced to fix a race condition when a dialog and a menu appared at the same time and the whole UI froze. Many things changed since then (in particular: HildonAppMenu does no longer use a grab) and this might not be necessary anymore, so it's definitely worth having a look again. Thanks for reporting the problem and uploading the test case.
Created an attachment (id=1725) [details] Close the menu only when a modal window appears Unfortunately we still need to close the menu when a dialog appears below it, I've just checked and the original problem is still there. However, I think that checking for modal windows is enough to avoid that problem and doesn't interfere with other types of windows (such as the one in your example). I'll test this solution a bit more and try to have it published. Thanks again for reporting the problem.
Adding patch keyword and alias for the internal bug
This has been fixed in libhildon 2.2.10-2+0m5
This has been fixed in package libhildon 2.2.10-2+0m5 which is part of the internal build version 2010.01-6 (Note: 2009 is the year, and the number after is the week.) A future public update released with the year/week later than this internal build version will include the fix. (This is not always already the next public update.) Please verify that this new version fixes the bug by marking this bug report as VERIFIED after the public update has been released and if you have some time. To answer popular followup questions: * Nokia does not announce release dates of public updates in advance. * There is currently no access to these internal, non-public build versions. A Brainstorm proposal to change this exists at http://maemo.org/community/brainstorm/view/undelayed_bugfix_releases_for_nokia_open_source_packages-002/
Setting explicit PR1.2 milestone (so it's clearer in which public release the fix will be available to users). Sorry for the bugmail noise (you can filter on this message).