From 96cdb27080088f075d0b334a8bb47e3f2a840492 Mon Sep 17 00:00:00 2001 From: Aaron Seigo Date: Fri, 2 Dec 2011 19:01:46 +0100 Subject: [PATCH] use the default corona in case the widget doesn't provide one we need a different solution for libplasma2, however. BUG:281759 --- tooltipmanager.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tooltipmanager.cpp b/tooltipmanager.cpp index 00cce9da5..e5839a498 100644 --- a/tooltipmanager.cpp +++ b/tooltipmanager.cpp @@ -248,6 +248,11 @@ void ToolTipManager::setContent(QGraphicsWidget *widget, const ToolTipContent &d //look if the data prefers aother graphicswidget, otherwise use the one used as event catcher QGraphicsWidget *referenceWidget = data.graphicsWidget() ? data.graphicsWidget() : widget; Corona *corona = qobject_cast(referenceWidget->scene()); + if (!corona) { + // fallback to the corona we were given + corona = m_corona; + } + if (corona) { d->tipWidget->moveTo(corona->popupPosition(referenceWidget, d->tipWidget->size(), Qt::AlignCenter)); } @@ -403,6 +408,11 @@ void ToolTipManagerPrivate::showToolTip() tipWidget->prepareShowing(); QGraphicsWidget *referenceWidget = tooltip.value().graphicsWidget() ? tooltip.value().graphicsWidget() : currentWidget; Corona *corona = qobject_cast(referenceWidget->scene()); + if (!corona) { + // fallback to the corona we were given + corona = q->m_corona; + } + if (corona) { tipWidget->moveTo(corona->popupPosition(referenceWidget, tipWidget->size(), Qt::AlignCenter)); }