bbd6cbd71c
When the DPI of a window changes due to being moved to another screen, or the current screen reconfiguring, the mask we've set earlier is no longer correct, as the mask was set based on the original screen's scale factor and in relation to the former platform geometry of the window, which now has changed. Like the geometry of a QWindow, the mask is expressed by the user in the QtGui coordinate system, so it's the platform's job to transform this into the platform coordinate system and update it when needed. Add a manual test that users a QWidget and a Q(Raster)Window side by side. There's still an issue with the screen change being triggered to early, via QWindow::setGeometry, instead of when the window has actually moved to the new screen, resulting in the paint event flushing to a window and backingstore that is in the wrong state, but this requires further research to fix. Task-number: QTBUG-97642 Pick-to: 6.5 6.2 Done-with: Volker Hilsheimer <volker.hilsheimer@qt.io> Change-Id: I7ab2d267fbaf6ac32b507d05a418eb025b354a0b Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
15 lines
365 B
CMake
15 lines
365 B
CMake
# Copyright (C) 2022 The Qt Company Ltd.
|
|
# SPDX-License-Identifier: BSD-3-Clause
|
|
|
|
#####################################################################
|
|
## windowmask Binary:
|
|
#####################################################################
|
|
|
|
qt_internal_add_manual_test(windowmask
|
|
SOURCES
|
|
main.cpp
|
|
LIBRARIES
|
|
Qt::Gui
|
|
Qt::Widgets
|
|
)
|