Details
-
Bug
-
Resolution: Unresolved
-
P3: Somewhat important
-
None
-
5.5.0, 5.6.0
-
None
-
Windows 7, Qt 5.6.0
Description
I've noticed that if you have a window that is not maximized, but has the size equal to the size of the screen (say, for example, 1920x1080) and the origin at (0, 0), then when you switch it to fullscreen, the inner surface will not be resized to the new size (which should change since the window now has no borders). If you resize (or move) the window even just by one pixel, everything works perfectly.
After looking into it a little bit, I discovered that QWindowsWindow::handleGeometryChange doesn't get called (or rather, returns too early to update window geometry), so it looks as though it doesn't react to window state change, because the geometry of the window doesn't really change: it was (0, 0, 1920, 1080) before fullscreen and it is (0, 0, 1920, 1080) again after going fullscreen.
I've made a simple application to reproduce the issue: one button to set window geometry to be equal to screen geometry, one button to switch fullscreen state (note: to reproduce the issue visibly you might need to switch to and from fullscreen twice), and a label with current geometry (frame geometry in parens). You can see that normal geometry is reported wrongly in fullscreen mode and there are some artifacts at the right side and bottom.
Attachments
Issue Links
- relates to
-
QTBUG-53577 Switching to/from fullscreen from maximized window shows wrong
-
- Closed
-
Gerrit Reviews
For Gerrit Dashboard: QTBUG-53368 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
160354,9 | Windows QPA: More fine-grained suppression of geometry/state change events | dev | qt/qtbase | Status: MERGED | +2 | 0 |