46 lines
1.9 KiB
Diff
46 lines
1.9 KiB
Diff
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
|
|
|