diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2018-07-16 11:40:34 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2018-07-16 10:44:30 +0000 |
commit | 9568abd142d581b67b86a5f63d823a34b0612702 (patch) | |
tree | a7b434b78d4058985414b903f39ee1714e55c518 | |
parent | ee17851b42f21bb92c4b7581e80c0319e5384e6b (diff) |
qtwinmigrate: Fix geometry offset
Set the property "_q_embedded_native_parent_handle" on the
widget before calling winId() so that it takes effect
during native window creation.
The bug was unveiled by
qtbase/3035400f36731c400adb9204b94e9afe346a71b7.
Task-number: QTSOLBUG-196
Change-Id: I5dac836b2845de9833da46bfb72d07aafdf4896a
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
-rw-r--r-- | qtwinmigrate/src/qwinwidget.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/qtwinmigrate/src/qwinwidget.cpp b/qtwinmigrate/src/qwinwidget.cpp index 4a04751..fffa774 100644 --- a/qtwinmigrate/src/qwinwidget.cpp +++ b/qtwinmigrate/src/qwinwidget.cpp @@ -123,6 +123,9 @@ void QWinWidget::init() Q_ASSERT(hParent); if (hParent) { +#if QT_VERSION >= 0x050000 + setProperty("_q_embedded_native_parent_handle", WId(hParent)); +#endif // make the widget window style be WS_CHILD so SetParent will work QT_WA({ SetWindowLong((HWND)winId(), GWL_STYLE, WS_CHILD | WS_CLIPCHILDREN | WS_CLIPSIBLINGS); @@ -131,7 +134,6 @@ void QWinWidget::init() }) #if QT_VERSION >= 0x050000 QWindow *window = windowHandle(); - window->setProperty("_q_embedded_native_parent_handle", (WId)hParent); HWND h = static_cast<HWND>(QGuiApplication::platformNativeInterface()-> nativeResourceForWindow("handle", window)); SetParent(h, hParent); |