Use Qt::Tool window flags for popups to avoid having them shown over screensaver.

CCBUG:179924

svn path=/branches/KDE/4.2/kdelibs/; revision=946770
This commit is contained in:
Aurélien Gâteau 2009-03-30 10:35:36 +00:00
parent 696869421d
commit 1c95aa9171

View File

@ -275,7 +275,8 @@ void PopupAppletPrivate::popupConstraintsEvent(Plasma::Constraints constraints)
//stuff out of your Dialog (extenders). Monitor WindowDeactivate events so we can
//emulate the same kind of behavior as Qt::Popup (close when you click somewhere
//else.
Qt::WindowFlags wflags = Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint;
//Use Qt::Tool otherwise dialogs get shown over screensaver (bug #179924).
Qt::WindowFlags wflags = Qt::Tool | Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint;
if (passive) {
wflags |= Qt::X11BypassWindowManagerHint;
@ -410,10 +411,12 @@ void PopupApplet::setPassivePopup(bool passive)
d->passive = passive;
if (d->dialog) {
Qt::WindowFlags wflags = Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint;
Qt::WindowFlags wflags = d->dialog->windowFlags();
if (d->passive) {
wflags |= Qt::X11BypassWindowManagerHint;
} else {
wflags &= ~Qt::X11BypassWindowManagerHint;
}
d->dialog->setWindowFlags(wflags);