summaryrefslogtreecommitdiffstats
path: root/src/widgets
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@digia.com>2014-10-20 16:25:47 +0200
committerFriedemann Kleint <Friedemann.Kleint@digia.com>2014-10-21 06:30:15 +0200
commit6c7a348cf82665f7f09bc3e0cfe03256f1462744 (patch)
tree8c18fe06b7c68bd205c96f2b6275e5b8e510bc79 /src/widgets
parent520b10be4cab66f3f66d3692d0bbbef57eff09e1 (diff)
Set correct transient parent in q_createNativeChildrenAndSetParent().
Fix warning: void QWindow::setTransientParent(QWindow*) ... must be a top level window. which occurred for example when parenting a QMenu onto a native child widget. Task-number: QTBUG-41898 Change-Id: Icc25fb2108bd68b2d9c0e551949b90fc7a82d358 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Diffstat (limited to 'src/widgets')
-rw-r--r--src/widgets/kernel/qwidget.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp
index 5529f8f72c..2d12674c29 100644
--- a/src/widgets/kernel/qwidget.cpp
+++ b/src/widgets/kernel/qwidget.cpp
@@ -1362,11 +1362,11 @@ void q_createNativeChildrenAndSetParent(const QWidget *parentWidget)
if (!childWidget->internalWinId())
childWidget->winId();
if (childWidget->windowHandle()) {
- QWindow *parentWindow = childWidget->nativeParentWidget()->windowHandle();
- if (childWidget->isWindow())
- childWidget->windowHandle()->setTransientParent(parentWindow);
- else
- childWidget->windowHandle()->setParent(parentWindow);
+ if (childWidget->isWindow()) {
+ childWidget->windowHandle()->setTransientParent(parentWidget->window()->windowHandle());
+ } else {
+ childWidget->windowHandle()->setParent(childWidget->nativeParentWidget()->windowHandle());
+ }
}
} else {
q_createNativeChildrenAndSetParent(childWidget);