diff options
author | J-P Nurmi <jpnurmi@theqtcompany.com> | 2015-12-03 18:15:00 +0100 |
---|---|---|
committer | J-P Nurmi <jpnurmi@theqtcompany.com> | 2015-12-04 10:28:53 +0000 |
commit | 435c23be984691e3de645ae8ddff440e5f1786dd (patch) | |
tree | 7a8db0e26a217004beeeb55fb6d44a822538117a /src/templates | |
parent | 4ecb85d4468782378c091e42d5733a976a3e0307 (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.cpp | 12 |
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); |