← Back to team overview

group.of.nepali.translators team mailing list archive

[Bug 1574699] Re: All QSystemTrayIcon have the same icon, and QSystemTrayIcon::isSystemTrayAvailable remove all QSystemTrayIcon

 

> Dmitry, just tried it and it works perfectly!

OK, starting the stable release upload procedure then.

> Could you please also check the bugs #1313248 and #1380702 as they
seem related?

They are not related, but a fix will be available in the next upload
(first in 17.04, then can be backported to 16.04 if it works).

** Also affects: appmenu-qt5 (Ubuntu)
   Importance: Undecided
       Status: New

** Also affects: appmenu-qt5 (Ubuntu Xenial)
   Importance: Undecided
       Status: New

** Changed in: appmenu-qt5 (Ubuntu)
       Status: New => Fix Released

** Changed in: appmenu-qt5 (Ubuntu Xenial)
       Status: New => In Progress

** Changed in: appmenu-qt5 (Ubuntu Xenial)
     Assignee: (unassigned) => Dmitry Shachnev (mitya57)

-- 
You received this bug notification because you are a member of नेपाली
भाषा समायोजकहरुको समूह, which is subscribed to Xenial.
Matching subscriptions: Ubuntu 16.04 Bugs
https://bugs.launchpad.net/bugs/1574699

Title:
  All QSystemTrayIcon have the same icon, and
  QSystemTrayIcon::isSystemTrayAvailable remove all QSystemTrayIcon

Status in appmenu-qt5:
  New
Status in appmenu-qt5 package in Ubuntu:
  Fix Released
Status in appmenu-qt5 source package in Xenial:
  In Progress

Bug description:
  in qppmenu-qt5 in ubuntu 16.4, the  AppMenuPlatformSystemTrayIcon
  assumes there is only one instance of a QPlatformSystemTrayIcon: it
  register the same sbus name for all the instances.  In fact, there is
  one instance of QPlatformSystemTrayIcon per instance of
  QSystemTrayIcon,  and one temporary is created for
  QSystemTrayIcon::isSystemTrayAvailable.

  
  This breaks the owncloud client  [issue https://github.com/owncloud/client/issues/4693 ]

  
  This example reproduces the problem:

  ```
  #include <QtWidgets>

  int main(int argc, char *argv[])
  {
      QApplication a(argc, argv);
      QImage img(64,64, QImage::Format_ARGB32);
      img.fill(Qt::red);
      QSystemTrayIcon sti(QIcon(QPixmap::fromImage(img)));
      sti.show();

       QSystemTrayIcon::isSystemTrayAvailable(); // with this line, the QSystemTrayIcon does not appear
       // comment the previous line to see that the QSystemTrayIcon works and that there is a bug in that line

      return a.exec();
  }
  ```

  This testcase shows that the
  AppMenuPlatformSystemTrayIcon::~AppMenuPlatformSystemTrayIcon  called
  by the temporary object created inside
  QSystemTrayIcon::isSystemTrayAvailable unregisters the icon.

To manage notifications about this bug go to:
https://bugs.launchpad.net/appmenu-qt5/+bug/1574699/+subscriptions