Details
-
Bug
-
Resolution: Done
-
P4: Low
-
5.3.2, 5.4.0, 5.6.1, 5.7.0
-
Windows 7
-
2f5c2ec12f3c45a0806b5872c206a680e9fce014 (qtbase/5.5, 18.2.2015) fa2aef5eb8f1a28a79e253a006f348e62afef58a (qtbase/5.7, 31.8.2016, 5.7.1)
Description
[Windows] QWindow::mapToGlobal() provides the wrong result if the window is embedded in a native window which also has a parent. Currently the code will only check for the parent and if that is a native parent it will then call ScreenToClient() on that to get the offset. However if that is a child of another native window, then this will only give a position relative to that parent. Not to the desktop and therefore not global.
Attachments
Issue Links
- relates to
-
QTBUG-41186 Clarify functionality of QWindow::fromWinId() on the various platforms
- Reported
-
QTBUG-26871 ActiveQt: QAxWidget in a modal dialog causes the dialog act like there was another modal dialog open.
- Closed
For Gerrit Dashboard: QTBUG-43252 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
101915,2 | Windows: Fix window geometry when using QWindow::fromWinId(). | 5.4 | qt/qtbase | Status: MERGED | +2 | 0 |
101916,4 | Windows: Do not register windows obtained by QWindow::fromWinId() for touch. | 5.4 | qt/qtbase | Status: MERGED | +2 | 0 |
101917,1 | Use QPlatformWindow::mapToGlobal()/mapFromGlobal() for Qt::ForeignWindow. | 5.4 | qt/qtbase | Status: ABANDONED | +1 | 0 |
106413,2 | Use QPlatformWindow::mapToGlobal()/mapFromGlobal() for Qt::ForeignWindow. | 5.5 | qt/qtbase | Status: MERGED | +2 | 0 |
163974,5 | Fix QWindowPrivate::globalPosition() for foreign windows | 5.7 | qt/qtbase | Status: MERGED | +2 | 0 |