use the default corona in case the widget doesn't provide one

we need a different solution for libplasma2, however.

BUG:281759
This commit is contained in:
Aaron Seigo 2011-12-02 19:01:46 +01:00
parent e0cd24f83a
commit 1ba3ec0d04

View File

@ -249,6 +249,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<Corona *>(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));
}
@ -404,6 +409,11 @@ void ToolTipManagerPrivate::showToolTip()
tipWidget->prepareShowing();
QGraphicsWidget *referenceWidget = tooltip.value().graphicsWidget() ? tooltip.value().graphicsWidget() : currentWidget;
Corona *corona = qobject_cast<Corona *>(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));
}