[Bug 703689] Re: Window registration racy with GDbus port
the issue has been fixed since ** Changed in: indicator-appmenu Status: New => Fix Released ** Changed in: indicator-appmenu (Ubuntu) Status: New => Fix Released -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/703689 Title: Window registration racy with GDbus port -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 703689] Re: Window registration racy with GDbus port
Ah, I figured out why it doesn't work now. If GetLayout fails once, then it never works again. This branch fixes that too: lp:~chrisccoulson/dbusmenu/signal-on-new-menu With both of those changes, window registration is working every time now -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/703689 Title: Window registration racy with GDbus port -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 703689] Re: Window registration racy with GDbus port
Hmmm, that doesn't seem to work. I still frequently get no menubar -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/703689 Title: Window registration racy with GDbus port -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 703689] Re: Window registration racy with GDbus port
Okay, So I'd like to avoid burdening the server implementors with having to worry about when things get registered. It is just a low-level detail they shouldn't have to know about. I think that we can achieve the same thing with this branch: lp:~ted/dbusmenu/signal-on-new-menu It sends a LayoutUpdated signal when the object gets registered, which should force the client to requery the Layout and update itself to the new version. This should then get the proper layout in the end. Can you see if it fixes the Firefox issues? Thanks, Ted -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/703689 Title: Window registration racy with GDbus port -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 703689] Re: Window registration racy with GDbus port
These 2 patches completely fix menu registration in Firefox: http://bazaar.launchpad.net/~chrisccoulson/dbusmenu/lp703689/revision/185 http://bazaar.launchpad.net/~chrisccoulson/globalmenu-extension/async-registration/revision/62 The dbusmenu patch adds a "registered" signal to DbusmenuServer (although, it might be cleaner to just provide a callback to dbusmenu_server_new, but that breaks ABI again). The globalmenu-extension patch just delays calling RegisterWindow until getting the "registered" signal from DbusmenuServer. Obviously, appmenu-gtk would also need a similar change to fix other applications, which still randomly load with no menu on my machine -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/703689 Title: Window registration racy with GDbus port -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 703689] Re: Window registration racy with GDbus port
I suspect this is happening because g_dbus_connection_register_object is called asynchronously from server.c:register_object() in dbusmenu. Menus are being constructed and the window is registered synchronously (after creating the DbusmenuServer) by appmenu-gtk and firefox, so the window registration dbus call is happening before returning to the main loop (where the menu object would be registered). I'm not sure this can actually fixed reliably in indicator-appmenu. I think what we really need is a new "registered" signal from DbusmenuServer, which can be fired from bus_got_cb(). We can then do the window registration asynchronously from this signal and avoid the race condition altogether. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/703689 Title: Window registration racy with GDbus port -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs