Go to file
Volker Hilsheimer 980795dc55 Let QScreen::grabWindow's winId parameter default to 0 and add test
The platform plugins are implemented to grab the entire screen if
no window ID is provided. They do not grab the entire virtual
screen, just the screen the method is called on.

On macOS, the implementation ignored the window parameter, and
always grabbed the entire virtual screen. This change fixes the
cocoa implementation. The test passes in local tests (with two
displays with different dpr). Since grabbing a screen returns an
image with managed colors, we need to convert it to sRGB color
spec first, otherwise displaying a grabbed image will produce
different results. This will need to be changed once Qt supports
a fully color managed flow.

The test does not cover the case where a window spans multiple
displays, since this is generally not supported at least on macOS.
The code that exists in QCocoaScreen to handle that case is
untested, but with the exception of the optimization it is also
unchanged.

Done-with: Morten Sørvig <morten.sorvig@qt.io>
Change-Id: I8ac1233e56d559230ff9e10111abfb6227431e8c
Fixes: QTBUG-84876
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-07-01 07:09:24 +02:00
.github/workflows Update configure flags to the last fixes 2020-06-30 15:21:32 +02:00
bin syncqt: Make sure to update forwarding headers if they are stale 2020-06-30 13:15:11 +02:00
cmake CMake: Adjust some status messages about syncqt and file generation 2020-06-30 13:15:14 +02:00
coin CMake: Fix tst_qmake not to hang and re-enable it 2020-06-26 22:14:09 +02:00
config.tests CMake: Skip regeneration of manual compile test project 2020-04-09 11:26:46 +02:00
dist Remove last remainings of Qt Quick 1 imports 2020-05-25 11:48:12 +02:00
doc QString: add char8_t overload of fromUtf8() 2020-06-23 06:31:28 +00:00
examples macOS: Remove examples for deprecated QMac(NativeWidget|CocoaViewContainer) 2020-06-26 15:10:26 +02:00
lib Purge all fonts 2015-08-18 19:59:14 +00:00
mkspecs Raise the Android SDK build requirement to lvl 28 - compile fix 2020-06-23 16:39:04 +02:00
qmake Remove unused variables in MSVC generator after WinRT removal 2020-06-29 12:26:26 +02:00
src Let QScreen::grabWindow's winId parameter default to 0 and add test 2020-07-01 07:09:24 +02:00
tests Let QScreen::grabWindow's winId parameter default to 0 and add test 2020-07-01 07:09:24 +02:00
util CMake: Generate qdevice.pri when cross-building 2020-06-29 12:47:59 +02:00
.cmake.conf pro2cmake.py: Generate .cmake.conf files for versioning 2020-04-30 17:44:03 +00:00
.gitattributes Update the git-archive export options 2012-09-07 15:39:31 +02:00
.gitignore Move QTextCodec support out of QtCore 2020-06-20 02:04:38 +02:00
.lgtm.yml Add config file for enabling LGTM analysis 2020-06-20 23:52:59 +02:00
.qmake.conf Bump version 2019-12-17 12:41:31 +01:00
.tag Update the git-archive export options 2012-09-07 15:39:31 +02:00
CMakeLists.txt CMake: Protect against Qt toolchain file recursive inclusion 2020-06-04 23:21:27 +02:00
config_help.txt Move QTextCodec support out of QtCore 2020-06-20 02:04:38 +02:00
configure Fix configure -cmake -no-pch 2020-06-30 15:21:21 +02:00
configure.bat Don't compile qmake in c++11 mode 2020-02-03 17:43:30 +01:00
configure.cmake CMake: Generate qdevice.pri when cross-building 2020-06-29 12:47:59 +02:00
configure.json Remove winrt 2020-06-06 20:25:49 +02:00
configure.pri Remove winrt 2020-06-06 20:25:49 +02:00
dependencies.yaml Re-add dependencies.yaml now that qt5.git wip/qt6 builds fine 2019-09-18 13:19:31 +02:00
header.BSD Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.COMM Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.FDL Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.GPL Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.GPL-EXCEPT Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.LGPL Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.LGPL3 Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.LGPL3-COMM Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.LGPL-NOGPL2 Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.LGPL-ONLY Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.MIT qsimd: add support for new x86 CPU features 2018-05-05 06:20:07 +00:00
INSTALL INSTALL: Remove outdated reference to Windows CE 2019-02-13 13:01:57 +00:00
LICENSE.FDL Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
LICENSE.GPL2 Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.GPL3 Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.GPL3-EXCEPT Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.LGPL3 Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.LGPLv3 Remove LICENSE.GPLv3, LICENSE.LGPLv21, LGPL_EXCEPTION.txt 2018-04-16 11:02:14 +00:00
LICENSE.QT-LICENSE-AGREEMENT Update enterprise license agreement v4.2.1 2019-12-18 13:07:19 +02:00
qtbase.pro nuke configure -host-option 2016-12-13 18:55:59 +00:00
sync.profile Move UNIX themes into QtGui 2020-06-22 09:12:14 +02:00