Comment 26 for bug 1635577

Revision history for this message
Dmitry Shachnev (mitya57) wrote :

Hi Marco, thanks for looking at this!

Attached is a smaller test case. Compile it with:

g++ -fPIC -I /usr/include/x86_64-linux-gnu/qt5 -lQt5Core -lQt5Gui -lQt5Widgets ./test.cpp

To me, the chain of objects looks like this:

unity-panel-service top-level menubar (created in panel-service.c:2540)
-> menu item for every indicator entry, including dead ones
   (created in panel-service.c:2566, added in panel-service.c:2589)
-> item submenu (created in indicator-application.c:555, added in panel-service.c:2590)
-> dbusmenu client (created in libdbusmenu-gtk/menu.c:402)
-> finally, each dbusmenu client maintains its own menu structure
   (and all clients are alive and massively send D-Bus requests)

The upstream commit is https://github.com/owncloud/client/commit/98efb075357fa64f — it contained other changes, so I did not cherry-pick all of it. The first item in the commit message is relevant to us.

A question from me: is it possible to inspect unity-panel-service with GTK+ Inspector somehow? I tried running it with GTK_DEBUG=interactive, but the only object it shows to me is GtkSettings.