diff options
-rw-r--r-- | src/plugins/platforms/xlib/qxlibwindow.cpp | 5 | ||||
-rw-r--r-- | src/plugins/platforms/xlib/qxlibwindow.h | 2 |
2 files changed, 4 insertions, 3 deletions
diff --git a/src/plugins/platforms/xlib/qxlibwindow.cpp b/src/plugins/platforms/xlib/qxlibwindow.cpp index c14fadaaaa..70eb061c13 100644 --- a/src/plugins/platforms/xlib/qxlibwindow.cpp +++ b/src/plugins/platforms/xlib/qxlibwindow.cpp @@ -303,10 +303,11 @@ WId QXlibWindow::winId() const return x_window; } -void QXlibWindow::setParent(const QPlatformWindow *window) +void QXlibWindow::setParent(const QPlatformWindow *parent) { QPoint topLeft = geometry().topLeft(); - XReparentWindow(mScreen->display()->nativeDisplay(),x_window,window->winId(),topLeft.x(),topLeft.y()); + WId parentWinId = parent ? parent->winId() : mScreen->rootWindow(); + XReparentWindow(mScreen->display()->nativeDisplay(),x_window,parentWinId,topLeft.x(),topLeft.y()); } void QXlibWindow::raise() diff --git a/src/plugins/platforms/xlib/qxlibwindow.h b/src/plugins/platforms/xlib/qxlibwindow.h index 9b64dc5624..eb69369150 100644 --- a/src/plugins/platforms/xlib/qxlibwindow.h +++ b/src/plugins/platforms/xlib/qxlibwindow.h @@ -112,7 +112,7 @@ public: void setVisible(bool visible); WId winId() const; - void setParent(const QPlatformWindow *window); + void setParent(const QPlatformWindow *parent); void raise(); void lower(); void setWindowTitle(const QString &title); |