Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-53676

Calling QTrayIcon hide() with an immediately following show() causes the context menu to malfunction

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P2: Important
    • 5.6.3
    • 5.6.0
    • None
    • Arch Linux, Linux kernel 4.6, KDE Plasma.
    • 75b49a59db98254ce85bc8f1da08938f4fbb63f8

    Description

      Calling hide() and immediately show() directly after causes the 'MenuBar' object of the dbus StatusItemNotifier service of the application in question to disappear and as a result the context menu which is described under that object will not show up.

      The program attached should not show a context menu but trigger a log message (may vary):

      Call to AboutToShow() failed: "No such object path '/MenuBar'"

      Inspecting the test program's statusnotifieritem will show MenuBar is missing.

      I noticed this when I tried to open the context menu of Seafile (which switched to Qt5 lately) and it was not quite clear what was causing this problem at first. I am aware that SNI is integrated in Qt5 and for Qt4 an extra module 'sni-qt' is necessary. In seafile, using hide and show together seemed to be meant as a fix on Ubuntu where the (Seafile) tray icon just disappeared.

      Attachments

        Activity

          People

            mandriver Dmitry Shachnev
            dx2 dx2
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: