aboutsummaryrefslogtreecommitdiffstats
path: root/src/templates/qquickpopup.cpp
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@theqtcompany.com>2016-03-21 15:40:10 +0100
committerJ-P Nurmi <jpnurmi@theqtcompany.com>2016-03-21 19:54:32 +0000
commit618f34889be51f531b6226e6362f40604967b486 (patch)
tree50cc263f2e9804a43aa5184b7a1dce67073d7753 /src/templates/qquickpopup.cpp
parent40aa7c39671400d96cf5f87fa737264912585ca0 (diff)
Fix QQuickPopup::setVisible()
Make sure to store the visibility flag even if the component is not yet completed. This way QQuickPopup::componentComplete() will run the enter transition as it was supposed. Change-Id: I1e4536e2fdb575b80174ae445626af43bdc45ed6 Task-number: QTBUG-51989 Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
Diffstat (limited to 'src/templates/qquickpopup.cpp')
-rw-r--r--src/templates/qquickpopup.cpp15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/templates/qquickpopup.cpp b/src/templates/qquickpopup.cpp
index f0866bdd..c298bd9c 100644
--- a/src/templates/qquickpopup.cpp
+++ b/src/templates/qquickpopup.cpp
@@ -1470,10 +1470,17 @@ bool QQuickPopup::isVisible() const
void QQuickPopup::setVisible(bool visible)
{
- if (visible)
- open();
- else
- close();
+ Q_D(QQuickPopup);
+ if (d->visible == visible)
+ return;
+
+ d->visible = visible;
+ if (d->complete) {
+ if (visible)
+ d->transitionManager.transitionEnter();
+ else
+ d->transitionManager.transitionExit();
+ }
}
/*!