Use showNormal() instead of show() in QToolTip.
Even on platforms that use the QPlatformIntegration::StyleHint ShowIsFullScreen we do not want to show tool tips fullscreen which would happen if we just call show(). This is also required to fix somewhat random crashes on QNX when browsing a website and hovering links that would trigger a tooltip to be shown. There, we could end up with nested calls to QToolTip::showText when the tooltip was shown full-screen. Since QToolTip is not reentrant that can lead to crashes since QTipLabel::instance could be deleted/invalidated inbetween. Change-Id: I335fcd10cb6d4cffeb622ed8e0caf17f6413d62d Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
This commit is contained in:
parent
57f8fba4cb
commit
4ba57a0590
@ -512,9 +512,9 @@ void QToolTip::showText(const QPoint &pos, const QString &text, QWidget *w, cons
|
||||
else if (QApplication::isEffectEnabled(Qt::UI_AnimateTooltip))
|
||||
qScrollEffect(QTipLabel::instance);
|
||||
else
|
||||
QTipLabel::instance->show();
|
||||
QTipLabel::instance->showNormal();
|
||||
#else
|
||||
QTipLabel::instance->show();
|
||||
QTipLabel::instance->showNormal();
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user