Details
-
Bug
-
Resolution: Done
-
P3: Somewhat important
-
5.4.1, 5.6.1
-
Windows 10 Anniversary Update
-
Add query function: 45f80a52c2d01ba14f550e48e32d95748a3ff444 (qtbase/dev, 18.1.2017,5.9)
Description
When a Windows 10 PC is set to tablet mode and a Qt application is launched, if the main window calls restoreGeometry() with a previously saved geometry, it prevents the window from being shown maximized, which is expected behavior on windows 10 tablet mode.
If the call to restoreGeometry is delayed by about a second, then it has no effect (at this time the window is in maximized state because the desktop shell has put it in that state).
Qt should be checking if the monitor for the window is in tablet mode and making the restoreGeometry operation a no-op in that case. For sample code on how to check if a monitor is in tablet mode, see
https://blogs.msdn.microsoft.com/oldnewthing/20160706-00/?p=93815
While I have only tested this with 5.4.1 and 5.6.1 it likely affects all Qt versions.
Attachments
Issue Links
- resulted in
-
QTBUG-58227 REG 5.7-> 5.8: Windows Dialogs are shown maximized using Microsoft surface in Tablet mode
- Closed
For Gerrit Dashboard: QTBUG-56831 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
175996,8 | Windows QPA: Detect Windows 10 tablet mode | 5.8 | qt/qtbase | Status: MERGED | -2 | 0 |
175997,2 | QWidget::restoreGeometry(): Observe style hints showIsFullScreen/showIsMaximized | 5.9 | qt/qtbase | Status: DEFERRED | +1 | 0 |
182672,3 | Windows platform headers: Add isTabletMode() | dev | qt/qtbase | Status: MERGED | +2 | 0 |