aboutsummaryrefslogtreecommitdiffstats
path: root/src/quicktemplates2/qquickcombobox.cpp
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2018-04-28 03:01:34 +0200
committerQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2018-04-28 03:01:34 +0200
commit012556df80470e294c1adaf1b442e1eb8729c598 (patch)
tree1871aaa41c9eaabd27b64d34458d02f85995f187 /src/quicktemplates2/qquickcombobox.cpp
parent5df2972e560dab4a1778444dc1dbe0c95c86be21 (diff)
parentbc93333958e469e2bd79319befb23328a9de38a9 (diff)
Merge remote-tracking branch 'origin/5.11' into dev
Diffstat (limited to 'src/quicktemplates2/qquickcombobox.cpp')
-rw-r--r--src/quicktemplates2/qquickcombobox.cpp18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/quicktemplates2/qquickcombobox.cpp b/src/quicktemplates2/qquickcombobox.cpp
index 65d17366..d4280b30 100644
--- a/src/quicktemplates2/qquickcombobox.cpp
+++ b/src/quicktemplates2/qquickcombobox.cpp
@@ -1698,9 +1698,11 @@ void QQuickComboBox::keyReleaseEvent(QKeyEvent *event)
break;
case Qt::Key_Escape:
case Qt::Key_Back:
- d->hidePopup(false);
- setPressed(false);
- event->accept();
+ if (d->isPopupVisible()) {
+ d->hidePopup(false);
+ setPressed(false);
+ event->accept();
+ }
break;
default:
break;
@@ -1740,6 +1742,16 @@ void QQuickComboBox::componentComplete()
}
}
+void QQuickComboBox::itemChange(QQuickItem::ItemChange change, const QQuickItem::ItemChangeData &value)
+{
+ Q_D(QQuickComboBox);
+ QQuickControl::itemChange(change, value);
+ if (change == ItemVisibleHasChanged && !value.boolValue) {
+ d->hidePopup(false);
+ setPressed(false);
+ }
+}
+
void QQuickComboBox::contentItemChange(QQuickItem *newItem, QQuickItem *oldItem)
{
Q_D(QQuickComboBox);