aboutsummaryrefslogtreecommitdiffstats
path: root/src/templates
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@theqtcompany.com>2015-12-03 18:15:00 +0100
committerJ-P Nurmi <jpnurmi@theqtcompany.com>2015-12-04 10:28:53 +0000
commit435c23be984691e3de645ae8ddff440e5f1786dd (patch)
tree7a8db0e26a217004beeeb55fb6d44a822538117a /src/templates
parent4ecb85d4468782378c091e42d5733a976a3e0307 (diff)
StackView: fix crash when attempting to transition null items
Don't attempt to kick off view transitions for stack elements that have failed to load. Change-Id: I6e42785a30abc815d14a07e7d16aad5bde66391d Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
Diffstat (limited to 'src/templates')
-rw-r--r--src/templates/qquickstackview_p.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/templates/qquickstackview_p.cpp b/src/templates/qquickstackview_p.cpp
index 1a08d349..ffd9934e 100644
--- a/src/templates/qquickstackview_p.cpp
+++ b/src/templates/qquickstackview_p.cpp
@@ -405,13 +405,13 @@ void QQuickStackViewPrivate::popTransition(QQuickStackElement *enter, QQuickStac
}
if (exit) {
- if (immediate || !exit->prepareTransition(transitioner, viewBounds))
+ if (immediate || !exit->item || !exit->prepareTransition(transitioner, viewBounds))
completeTransition(exit, transitioner->removeTransition);
else
exit->startTransition(transitioner);
}
if (enter) {
- if (immediate || !enter->prepareTransition(transitioner, QRectF()))
+ if (immediate || !enter->item || !enter->prepareTransition(transitioner, QRectF()))
completeTransition(enter, transitioner->removeDisplacedTransition);
else
enter->startTransition(transitioner);
@@ -437,13 +437,13 @@ void QQuickStackViewPrivate::pushTransition(QQuickStackElement *enter, QQuickSta
}
if (enter) {
- if (immediate || !enter->prepareTransition(transitioner, viewBounds))
+ if (immediate || !enter->item || !enter->prepareTransition(transitioner, viewBounds))
completeTransition(enter, transitioner->addTransition);
else
enter->startTransition(transitioner);
}
if (exit) {
- if (immediate || !exit->prepareTransition(transitioner, QRectF()))
+ if (immediate || !exit->item || !exit->prepareTransition(transitioner, QRectF()))
completeTransition(exit, transitioner->addDisplacedTransition);
else
exit->startTransition(transitioner);
@@ -470,13 +470,13 @@ void QQuickStackViewPrivate::replaceTransition(QQuickStackElement *enter, QQuick
}
if (exit) {
- if (immediate || !exit->prepareTransition(transitioner, QRectF()))
+ if (immediate || !exit->item || !exit->prepareTransition(transitioner, QRectF()))
completeTransition(exit, transitioner->moveDisplacedTransition);
else
exit->startTransition(transitioner);
}
if (enter) {
- if (immediate || !enter->prepareTransition(transitioner, viewBounds))
+ if (immediate || !enter->item || !enter->prepareTransition(transitioner, viewBounds))
completeTransition(enter, transitioner->moveTransition);
else
enter->startTransition(transitioner);