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 641608 - Systray icon context menu scrolled away
Systray icon context menu scrolled away
Status: RESOLVED FIXED
Product: banshee
Classification: Other
Component: User Interface
git master
Other Windows
: Normal normal
: 1.x
Assigned To: Banshee Maintainers
Banshee Maintainers
Depends on:
Blocks:
 
 
Reported: 2011-02-05 15:04 UTC by Ján Sokoly
Modified: 2011-03-08 17:39 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
screenshot (11.44 KB, image/jpeg)
2011-02-05 15:05 UTC, Ján Sokoly
  Details
Switches the method of context menu placement to Gtk itself. (1.23 KB, patch)
2011-02-10 15:27 UTC, Ján Sokoly
none Details | Review

Description Ján Sokoly 2011-02-05 15:04:36 UTC
Rightclicking on banshee icon in system tray show a context menu which is scrolled out of the viewport.
Comment 1 Ján Sokoly 2011-02-05 15:05:15 UTC
Created attachment 180173 [details]
screenshot
Comment 2 Gabriel Burt 2011-02-05 18:07:46 UTC
I see this too.
Comment 3 Matt Sturgeon 2011-02-05 18:09:46 UTC
I confirm this
Comment 4 Matt Sturgeon 2011-02-07 16:19:32 UTC
Any ideas as to the cause?
Comment 5 Ján Sokoly 2011-02-10 15:27:10 UTC
Created attachment 180596 [details] [review]
Switches the method of context menu placement to Gtk itself.

As of my findings, the trouble is caused by using a custom placement function when opening the menu. http://library.gnome.org/devel/gtk/stable/GtkMenu.html#gtk-menu-popup states that passing a null will cause the Gtk itself to position the menu on mouse coordinates, which looks reasonable to me.
I have only tested this on Windows as my Linux build is having some trouble. So please, have a look at what it does in Linux and let me know if there are some issues.
Further code changes may be required to clean up a little, e.g. removing the PositionMenu from INotificationAreaBox.cs and it's implementors, but my knowledge of why there was a need to use a custom placement function may be limited, so I didn't include those in this patch.
Comment 6 Gabriel Burt 2011-03-08 17:39:53 UTC
Thanks Ján, I committed your patch, but w/ #if WIN32 around it so as not to regress on Linux (I didn't have time to thoroughly test it on Linux, so better safe than sorry).