diff options
author | Ken Moore <moorekou@gmail.com> | 2015-09-15 19:02:00 -0400 |
---|---|---|
committer | Ken Moore <moorekou@gmail.com> | 2015-09-15 19:02:00 -0400 |
commit | 043cb2ef441b4ee46961ed837fedab082db14ceb (patch) | |
tree | 8f070d92e9b589d2cce1b1f522dfaac0d4ca6631 /lumina-desktop/panel-plugins/systemtray/LSysTray.cpp | |
parent | Adjust the theming of the calendar widgets so that the day/week are a bit mor... (diff) | |
download | lumina-043cb2ef441b4ee46961ed837fedab082db14ceb.tar.gz lumina-043cb2ef441b4ee46961ed837fedab082db14ceb.tar.bz2 lumina-043cb2ef441b4ee46961ed837fedab082db14ceb.zip |
Finally fix up the system tray updates:
Found out that (at least on FreeBSD 10.2 right now), the xcb_damage_create() routine does absolutely nothing (no damage events ever sent out when the window changes). Switching this back to the Xlib XDamageCreate() routine makes it work perfectly again. Need to ask about this upstream and see if this is a known bug/regression in the XCB libraries.
Diffstat (limited to 'lumina-desktop/panel-plugins/systemtray/LSysTray.cpp')
-rw-r--r-- | lumina-desktop/panel-plugins/systemtray/LSysTray.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lumina-desktop/panel-plugins/systemtray/LSysTray.cpp b/lumina-desktop/panel-plugins/systemtray/LSysTray.cpp index 220c7858..05c601e1 100644 --- a/lumina-desktop/panel-plugins/systemtray/LSysTray.cpp +++ b/lumina-desktop/panel-plugins/systemtray/LSysTray.cpp @@ -150,8 +150,9 @@ void LSysTray::UpdateTrayWindow(WId win){ for(int i=0; i<trayIcons.length(); i++){ if(trayIcons[i]->appID()==win){ qDebug() << "System Tray: Update Window " << win; - trayIcons[i]->update(); - QTimer::singleShot(1000, trayIcons[i], SLOT(update()) ); + trayIcons[i]->repaint(); //don't use update() because we need an instant repaint (not a cached version) + //QTimer::singleShot(10, trayIcons[i], SLOT(repaint()) ); //re-paint in 10ms (give it a moment to settle) + //QTimer::singleShot(1000, trayIcons[i], SLOT(update()) ); return; //finished now } } |