Details
-
Bug
-
Resolution: Done
-
P3: Somewhat important
-
5.14.2
-
None
-
Single screen with 200% scaling.
-
-
c92fedd761206231f13838528943619b84df55bf (qt/qtbase/5.15)
Description
I narrowed it down to this submit: "Windows QPA: Better recover from removed screens when fullscreen" 8afc6146be513e7adee6e4ade342e28951bfefc6 https://codereview.qt-project.org/c/qt/qtbase/+/187740
It seems to have been incorrectly implemented where the high dpi conversion is made in the wrong place, one of which was fixed in "Windows QPA: Compare against correct geometry when checking for fullscreen" 216da37cc55c38a9901501ecb04f768ff4e78d8f https://codereview.qt-project.org/c/qt/qtbase/+/200302 . The QPlatformScreen returns native pixels while the QScreen returns scaled pixels.
I would also like to question if the original change to move the window is even a good change? It feels like the wrong place and time to make sure the window is within the screen?
Repro steps:
- Run the attached example.
- Move it to the lower/right part of a screen with scaling > 1
- Toggle fullscreen on with the toggle fullscreen button.
- Toggle fullscreen off and notice that the window is now in the upper right corner.
Single screen with 200% scaling. qtdiag output (unsure why it says dpi scaling is inactive when it is in fact active): Screens: 1, High DPI scaling: inactive # 0 "\\.\DISPLAY1" Depth: 32 Primary: yes Manufacturer: Model: Serial number: Geometry: 3000x2000+0+0 Available: 3000x1940+0+0 Physical size: 285x190 mm Refresh: 60 Hz Power state: 0 Physical DPI: 267.368,267.368 Logical DPI: 192,192 Subpixel_None DevicePixelRatio: 1 Pixel density: 1 Primary orientation: 2 Orientation: 2 Native orientation: 0 OrientationUpdateMask: 0
Attachments
Issue Links
- relates to
-
QTBUG-83449 Toggling fullscreen for frameless window with no system background doesn't work if its position is 0,0.
- Closed