aboutsummaryrefslogtreecommitdiffstats
path: root/src/templates/qquickstackview_p.cpp
diff options
context:
space:
mode:
authorGabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>2015-09-29 18:33:53 +0200
committerGabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>2015-09-30 06:30:24 +0000
commitb83dcfb9703ccb5a3dad91d49432a2bb4ceef438 (patch)
tree8a843cd3a14642a6fb5d7ef7bc381ca415cf8c49 /src/templates/qquickstackview_p.cpp
parentc6b5986f8339d451ffbc6fc96b47882d5d8f6221 (diff)
StackView Template: Empty transitions should not crash
So we make sure a transitioner exists before running any transition. Change-Id: I3ef40e591fdbdcd5b25a5dc53e71551ac13b7531 Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
Diffstat (limited to 'src/templates/qquickstackview_p.cpp')
-rw-r--r--src/templates/qquickstackview_p.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/templates/qquickstackview_p.cpp b/src/templates/qquickstackview_p.cpp
index 451e5512..810e94aa 100644
--- a/src/templates/qquickstackview_p.cpp
+++ b/src/templates/qquickstackview_p.cpp
@@ -388,6 +388,8 @@ void QQuickStackViewPrivate::ensureTransitioner()
void QQuickStackViewPrivate::popTransition(QQuickStackElement *enter, QQuickStackElement *exit, const QRectF &viewBounds, bool immediate)
{
+ ensureTransitioner();
+
if (exit) {
exit->removal = true;
exit->setStatus(QQuickStackView::Deactivating);
@@ -420,6 +422,8 @@ void QQuickStackViewPrivate::popTransition(QQuickStackElement *enter, QQuickStac
void QQuickStackViewPrivate::pushTransition(QQuickStackElement *enter, QQuickStackElement *exit, const QRectF &viewBounds, bool immediate)
{
+ ensureTransitioner();
+
if (enter) {
enter->setStatus(QQuickStackView::Activating);
enter->transitionNextReposition(transitioner, QQuickItemViewTransitioner::AddTransition, true);
@@ -451,6 +455,8 @@ void QQuickStackViewPrivate::pushTransition(QQuickStackElement *enter, QQuickSta
void QQuickStackViewPrivate::replaceTransition(QQuickStackElement *enter, QQuickStackElement *exit, const QRectF &viewBounds, bool immediate)
{
+ ensureTransitioner();
+
if (enter) {
enter->setStatus(QQuickStackView::Activating);
enter->transitionNextReposition(transitioner, QQuickItemViewTransitioner::AddTransition, true);