diff options
author | Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com> | 2015-09-29 18:33:53 +0200 |
---|---|---|
committer | Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com> | 2015-09-30 06:30:24 +0000 |
commit | b83dcfb9703ccb5a3dad91d49432a2bb4ceef438 (patch) | |
tree | 8a843cd3a14642a6fb5d7ef7bc381ca415cf8c49 /src/templates/qquickstackview_p.cpp | |
parent | c6b5986f8339d451ffbc6fc96b47882d5d8f6221 (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.cpp | 6 |
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); |