Opened 14 years ago

Closed 13 years ago

#201 closed defect (fixed)

QSystemTrayIcon::setIcon(QIcon) ignored if QIcon is an empty icon

Reported by: Yagiza Owned by:
Priority: minor Milestone: Qt 4.7
Component: xsystray Version: 4.6.3
Severity: low Keywords:
Cc:

Description

When system tray already displays an icon and setIcon(QIcon()) is called to set an empty icon, previously displayed icon still displayed.
On both Windows and Linux in that case no icon (just empty space) is displayed in system tray after the call.

Change History (8)

comment:1 by Yagiza, 14 years ago

Component: GeneralQtGui

comment:2 by Silvan Scherrer, 14 years ago

Milestone: Qt EnhancedQt 4.7

comment:3 by Silvan Scherrer, 14 years ago

Component: QtGuixsystray

comment:4 by Dmitry A. Kuminov, 14 years ago

Thank you for the report. Do you mean that the icon is removed in this case or that an empty box equal to the icon size is displayed?

comment:5 by yagiza, 14 years ago

In both Windows and Linux empty box equal to the icon size is displayed. In OS/2 nothing happens - just previously displayed icon kept displaying.

comment:6 by Dmitry A. Kuminov, 13 years ago

Fixed the original problem in r951.

But now I noticed another one: clicking the icon with the left mouse button produces two click messages. So far, I don't get why. If I enable logging, the problem doesn't show up.

comment:7 by Dmitry A. Kuminov, 13 years ago

Some absolute crap. Even if I add a simple DosBeep(440, 50) (or a DosSleep(50)) to the *xCenter widget* code (to the place where it posts mouse messages to the Qt client), it starts working as it should. If I remove DosBeep() (or if I put it to the client code that receives these messages), the problem appears again.

comment:8 by Dmitry A. Kuminov, 13 years ago

Resolution: fixed
Status: newclosed

Fixed that nonsense in r952. Was a tiny yet tricky bug, see the commit message.

Note: See TracTickets for help on using tickets.