GNOME Bugzilla – Bug 147623
Main Menu moves even after move operation has been ended
Last modified: 2004-12-22 21:47:04 UTC
Move the Main Menu (right click, move) Click to stop the move Move the mouse pointer over the panel, the Main Menu button moves. Attaching the patch in a minute
Created attachment 29542 [details] [review] Patch should fix the bug
This doesn't look right to me - when the PanelWidget grabs the pointer, it should make sure to handle all pointer/button events and make sure the actual widgets don't get the event - i.e. I'd expect the fix to be in panel-widget.c. Its all a bit of a mess (the existing code) and I can't figure out what's going on at a glance. Not sure what broke here. What I've noticed too is that when you finish moving a launcher like this it depresses when you move the pointer back over it - probably a related issue.
Mark: The button-press-event callback in panel-widget.c was never going through. So, doing g_signal_connect () instead of g_signal_connect_after() fixes it. I am not sure what we might break with this but we do manage to fix are as below. a) The current problem in this bug report b) The launcher button getting depressed after the move operation (in the toolkit sense ie ;-)) c) The problem report in bug #145288 --- gnome-panel/gnome-panel/panel-widget.c Sat Feb 14 16:06:56 2004 +++ gnome-panel-new/gnome-panel/panel-widget.c Thu Jul 15 16:10:39 2004 @@ -2361,7 +2361,7 @@ bind_top_applet_events (GtkWidget *widge NULL); /* connect-after so that we stop the propogation of the event */ - g_signal_connect_after (widget, "button-press-event", + g_signal_connect (widget, "button-press-event", G_CALLBACK (panel_widget_applet_button_press_event), NULL); What do you think ?
okay, the g_signal_connect_after went in as a part of fix for bug #123819. Just tested that again, even with the change above that bug does not occur.
hmm, sorry for spamming, this change fixes bug #143908, not sure what other stuff it fixes ;-)
*** Bug 145288 has been marked as a duplicate of this bug. ***
Okay, if your confident this is right, go ahead with it on HEAD and close out all the bugs it fixes etc.
Checked in to HEAD. Thanks 2004-07-30 Arvind Samptur <arvind.samptur@wipro.com> * panel-widget.c: (bind_top_applet_events): For the button-press-event do a g_signal_connect () instead of a g_signal_connect_after (). This event was not going through PanelWidget because of which the actual widgets were getting the events. Thus exhibiting strange behaviours. Fixes #147623, #143908,#145288 etc