Blob Blame History Raw
From 8fccfef424e7d2b7a2019b1f828234145d4011df Mon Sep 17 00:00:00 2001
From: Albert Astals Cid <albert.astals@canonical.com>
Date: Tue, 17 Feb 2015 09:53:27 +0100
Subject: [PATCH 136/163] Make sure there's a scene before using it
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Fixes crash hovering links in quassel

Task-number: QTBUG-44509
Change-Id: I77d8d9118ad185ed70a46e91445e2960200e562b
Reviewed-by: Michael BrĂ¼ning <michael.bruning@theqtcompany.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
---
 src/widgets/kernel/qwidget.cpp                                |  4 ++--
 .../qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp         | 11 +++++++++++
 2 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp
index 6871541..cb2e9e0 100644
--- a/src/widgets/kernel/qwidget.cpp
+++ b/src/widgets/kernel/qwidget.cpp
@@ -12272,7 +12272,7 @@ QPoint QWidget::mapToGlobal(const QPoint &pos) const
 {
 #ifndef QT_NO_GRAPHICSVIEW
     Q_D(const QWidget);
-    if (d->extra && d->extra->proxyWidget) {
+    if (d->extra && d->extra->proxyWidget && d->extra->proxyWidget->scene()) {
         const QList <QGraphicsView *> views = d->extra->proxyWidget->scene()->views();
         if (!views.isEmpty()) {
             const QPointF scenePos = d->extra->proxyWidget->mapToScene(pos);
@@ -12307,7 +12307,7 @@ QPoint QWidget::mapFromGlobal(const QPoint &pos) const
 {
 #ifndef QT_NO_GRAPHICSVIEW
     Q_D(const QWidget);
-    if (d->extra && d->extra->proxyWidget) {
+    if (d->extra && d->extra->proxyWidget && d->extra->proxyWidget->scene()) {
         const QList <QGraphicsView *> views = d->extra->proxyWidget->scene()->views();
         if (!views.isEmpty()) {
             const QPoint viewPortPos = views.first()->viewport()->mapFromGlobal(pos);
-- 
1.9.3