diff options
author | Gabriel de Dietrich <gabriel.dedietrich@digia.com> | 2014-07-28 20:37:35 +0200 |
---|---|---|
committer | Gabriel de Dietrich <gabriel.dedietrich@digia.com> | 2014-07-29 13:33:21 +0200 |
commit | 5163d524dbad1d2c9f8f3cfd1d9cccbdcce98708 (patch) | |
tree | b434456897d07d504eece24cf19caf774b63d517 /src/controls | |
parent | acfcbd620b0ceb1f11a3fcf2439127e1558d9d01 (diff) | |
download | qtquickcontrols-5163d524dbad1d2c9f8f3cfd1d9cccbdcce98708.tar.gz |
QQuickPopupWindow: Use actual item size as content size
Using the children rect size was a mistake, particularly when using
Instantator in a Menu.
Task-number: QTBUG-40221
Change-Id: I6efe9aad617a7b0adbea0bb96bf843c5c1779131
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Diffstat (limited to 'src/controls')
-rw-r--r-- | src/controls/qquickmenupopupwindow.cpp | 5 | ||||
-rw-r--r-- | src/controls/qquickpopupwindow.cpp | 3 |
2 files changed, 3 insertions, 5 deletions
diff --git a/src/controls/qquickmenupopupwindow.cpp b/src/controls/qquickmenupopupwindow.cpp index c8483d63..508b6b27 100644 --- a/src/controls/qquickmenupopupwindow.cpp +++ b/src/controls/qquickmenupopupwindow.cpp @@ -126,12 +126,11 @@ void QQuickMenuPopupWindow::setGeometry(int posx, int posy, int w, int h) void QQuickMenuPopupWindow::updateSize() { - QSize contentSize = popupContentItem()->childrenRect().size().toSize(); qreal x = m_initialPos.x(); qreal y = m_initialPos.y(); if (qGuiApp->layoutDirection() == Qt::RightToLeft) - x -= contentSize.width(); - setGeometry(x, y, contentSize.width(), contentSize.height()); + x -= popupContentItem()->width(); + setGeometry(x, y, popupContentItem()->width(), popupContentItem()->height()); } void QQuickMenuPopupWindow::updatePosition() diff --git a/src/controls/qquickpopupwindow.cpp b/src/controls/qquickpopupwindow.cpp index 56f4c351..bcd2837f 100644 --- a/src/controls/qquickpopupwindow.cpp +++ b/src/controls/qquickpopupwindow.cpp @@ -143,8 +143,7 @@ void QQuickPopupWindow::setPopupContentItem(QQuickItem *contentItem) void QQuickPopupWindow::updateSize() { - QSize contentSize = popupContentItem()->childrenRect().size().toSize(); - setGeometry(x(), y(), contentSize.width(), contentSize.height()); + setGeometry(x(), y(), popupContentItem()->width(), popupContentItem()->height()); emit geometryChanged(); } |