Добрый день!
Наше приложение динамически отображает своё состояние в системном лотке. Приложение на Qt, используем системную библиотеку из Astra 1.3 (Qt 4.8.3).
Но напоролись на неприятный факт: если иконка использует прозрачный фон (а без прозрачного фона она смотрится кирпич-кирпичом), то при каждой новой установке иконки предыдущая не пропадает, а новая иконка рисуется поверх неё. В результате там образуется полная каша.
Иконку меняем через QSystemTrayIcon::setIcon. Упростили программу до простейшего переключения двух разных иконок из ресурса:
tray.setIcon (QIcon (":/icon1.png"));
tray.setIcon (QIcon (":/icon2.png"));
Иконки почему-то рисуются поверх друг друга.
В Ubuntu и Fedora такой фигни нет.
Штатный переключатель языков (который рисует флажки) такого бага вроде бы тоже не имеет - российский флаг чуть больше американского, но при переключении языка артефактов от него не остаётся.
Кто виноват и что делать?
Наше приложение динамически отображает своё состояние в системном лотке. Приложение на Qt, используем системную библиотеку из Astra 1.3 (Qt 4.8.3).
Но напоролись на неприятный факт: если иконка использует прозрачный фон (а без прозрачного фона она смотрится кирпич-кирпичом), то при каждой новой установке иконки предыдущая не пропадает, а новая иконка рисуется поверх неё. В результате там образуется полная каша.
Иконку меняем через QSystemTrayIcon::setIcon. Упростили программу до простейшего переключения двух разных иконок из ресурса:
tray.setIcon (QIcon (":/icon1.png"));
tray.setIcon (QIcon (":/icon2.png"));
Иконки почему-то рисуются поверх друг друга.
В Ubuntu и Fedora такой фигни нет.
Штатный переключатель языков (который рисует флажки) такого бага вроде бы тоже не имеет - российский флаг чуть больше американского, но при переключении языка артефактов от него не остаётся.
Кто виноват и что делать?