Fix in-process QAxServers inside modal windows.
authorMiikka Heikkinen <miikka.heikkinen@digia.com>
Fri, 17 Aug 2012 11:19:36 +0000 (14:19 +0300)
committerQt by Nokia <qt-info@nokia.com>
Mon, 20 Aug 2012 08:48:09 +0000 (10:48 +0200)
commit333f641622c795a4b826d2d48aeabd5b5eab6e90
treea178ae15e995668d3f4959503983a4da449d91a7
parent9ea9ec1cbb567197ce0bf44ea58a79308c9b64d8
Fix in-process QAxServers inside modal windows.

The main window of in-process QAxServers doesn't have QWindow parent,
but it does have native parent that is part of the native window tree
of the application. The lack of Qt parent makes embedded controls look
like toplevel windows, which causes problems e.g. with modality.

Introduced new optional method QPlatformWindow::isEmbedded() to
detect if a window is an embedded window and utilized it in proper
places during modality handling.

Task-number: QTBUG-26871
Change-Id: Iac9a51dae06b8fc15410de7838857e203e4275b8
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
src/gui/kernel/qguiapplication.cpp
src/gui/kernel/qplatformwindow.cpp
src/gui/kernel/qplatformwindow.h
src/plugins/platforms/windows/qwindowswindow.cpp
src/plugins/platforms/windows/qwindowswindow.h
src/widgets/kernel/qapplication.cpp