First showing the dialog and then updating it's position solves the problem of the calendars not appearing anymore unless an inconvenient set of circumstances occur.

svn path=/trunk/KDE/kdelibs/; revision=890887
This commit is contained in:
Rob Scheepmaker 2008-11-30 15:56:06 +00:00
parent e1bb614999
commit 103f1db668

View File

@ -356,8 +356,8 @@ bool PopupApplet::eventFilter(QObject *watched, QEvent *event)
void PopupApplet::showPopup(uint popupDuration) void PopupApplet::showPopup(uint popupDuration)
{ {
if (d->dialog && (formFactor() == Horizontal || formFactor() == Vertical)) { if (d->dialog && (formFactor() == Horizontal || formFactor() == Vertical)) {
d->updateDialogPosition();
d->dialog->show(); d->dialog->show();
d->updateDialogPosition();
KWindowSystem::setState(d->dialog->winId(), NET::SkipTaskbar | NET::SkipPager); KWindowSystem::setState(d->dialog->winId(), NET::SkipTaskbar | NET::SkipPager);
if (d->timer) { if (d->timer) {
@ -452,8 +452,8 @@ void PopupAppletPrivate::togglePopup()
if (dialog->isVisible()) { if (dialog->isVisible()) {
dialog->hide(); dialog->hide();
} else { } else {
updateDialogPosition();
dialog->show(); dialog->show();
updateDialogPosition();
KWindowSystem::setState(dialog->winId(), NET::SkipTaskbar | NET::SkipPager); KWindowSystem::setState(dialog->winId(), NET::SkipTaskbar | NET::SkipPager);
} }