Comment 5 for bug 558841

Revision history for this message
Travis B. Hartwell (nafai) wrote :

Quick update with more details.

First, steps to reproduce this:

1. Make sure you have at least one device paired (but not necessarily
    connected), with your computer.

2. Start with Bluetooth turned off. If you have to turn off
    bluetooth (via the indicator menu), kill bluetooth-applet
    ("killall bluetooth-applet") and then relaunch ("bluetooth-applet
    &").

3. Turn on Bluetooth via the indicator menu. The individual menus
    for the devices won't show up and you will only see the "Devices"
    heading in the menu.

Investigation so far:

First, at Ted Gould's suggestion, I ran dbusmenu-dumper to see what
dbusmenu was getting:

/usr/lib/libdbusmenu/dbusmenu-dumper --dbus-name=org.gnome.Bluetooth.applet --dbus-object=/org/ayatana/NotificationItem/bluetooth_manager/Menu

The output of this confirmed that it indeed was not getting the menus
for the devices.

Next, I added debug prints to libappindicator/appindicator.c where
menuitems with labels were being added, in menuitem_iterate() and
container_iterate(). Again, I confirmed that at this level the device
menus were never seen.

I next added debug prints to applet/main.c in gnome-bluetooth to trace
which related functions were being called and also when the top level
devices menus were being added. I have confirmed that they *are*
being added at this level.

Another detail, if I kill the bluetooth-applet while bluetooth is
enabled, and then re-launch it, the device menus do show up.

I'm not sure if there is a signal that isn't being caught or what. At
the end of the function where the menu items are being added, there is
a call to:

 gtk_ui_manager_ensure_update (uimanager);

I think I remember something about this causing issues in the past,
but I'm unsure.