From 4a2ed6f47e5b4474b6b40f344d1ff9eb2d1c88ba Mon Sep 17 00:00:00 2001 From: Till Adam Date: Mon, 24 Dec 2012 17:01:27 +0100 Subject: [PATCH 1/3] Fix the non-x11 build. --- private/dialogshadows.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/private/dialogshadows.cpp b/private/dialogshadows.cpp index eb4f5c947..481f7bdbd 100644 --- a/private/dialogshadows.cpp +++ b/private/dialogshadows.cpp @@ -161,10 +161,14 @@ void DialogShadows::Private::initPixmap(const QString &element) QPixmap DialogShadows::Private::initEmptyPixmap(const QSize &size) { +#ifdef Q_WS_X11 Pixmap emptyXPix = XCreatePixmap(QX11Info::display(), QX11Info::appRootWindow(), size.width(), size.height(), 32); QPixmap tempEmptyPix = QPixmap::fromX11Pixmap(emptyXPix, QPixmap::ExplicitlyShared); tempEmptyPix.fill(Qt::transparent); return tempEmptyPix; +#else + return QPixmap(); +#endif } void DialogShadows::Private::setupPixmaps() From cc24f1839a5f2c936b56eb15dd86bf8cdb44ed03 Mon Sep 17 00:00:00 2001 From: Weng Xuetian Date: Wed, 26 Dec 2012 11:28:35 -0500 Subject: [PATCH 2/3] fix tooltip shadow problem. avoid confusations between the deleted window size and the "dirty" area. BUG: 311502 REVIEW: 107905 --- tooltipmanager.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tooltipmanager.cpp b/tooltipmanager.cpp index 00bfcdb05..d90dc9c5a 100644 --- a/tooltipmanager.cpp +++ b/tooltipmanager.cpp @@ -314,8 +314,8 @@ void ToolTipManagerPrivate::createTipWidget() void ToolTipManagerPrivate::hideTipWidget() { if (tipWidget) { - shadow->removeWindow(tipWidget); tipWidget->hide(); + shadow->removeWindow(tipWidget); tipWidget->deleteLater(); tipWidget = 0; } From 8db20e64c7c8c5e28c9b9bb31cff01c077e7f455 Mon Sep 17 00:00:00 2001 From: Marco Martin Date: Fri, 28 Dec 2012 18:45:37 +0100 Subject: [PATCH 3/3] consider also declarative items for parentSize this fixes applets collapse in the new qml systray --- popupapplet.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/popupapplet.cpp b/popupapplet.cpp index d1f6e6650..412414abc 100644 --- a/popupapplet.cpp +++ b/popupapplet.cpp @@ -27,6 +27,7 @@ #include #include #include +#include #ifdef Q_WS_X11 #include @@ -242,10 +243,13 @@ void PopupAppletPrivate::popupConstraintsEvent(Plasma::Constraints constraints) //99% of the times q->parentWidget() is the containment, but using it we can also manage the applet-in-applet case (i.e. systray) //there are also cases where the parentlayoutitem is bigger than the containment (e.g. newspaper) + QDeclarativeItem *di = qobject_cast(q->parentObject()); if (q->parentLayoutItem()) { parentSize = q->parentLayoutItem()->geometry().size(); } else if (q->parentWidget()) { parentSize = q->parentWidget()->size(); + } else if (di) { + parentSize = QSizeF(di->width(), di->height()); } //check if someone did the nasty trick of applets in applets, in this case we always want to be collapsed