summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* testlib selftest: Only warn about missing test expectation if none was foundTor Arne Vestbø2020-07-221-1/+4
| | | | | Change-Id: I55e19d0a7b9b58ceeee4f25612f4a1d9ec66eb76 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* testlib: Explicitly name watchdog timer threadTor Arne Vestbø2020-07-221-0/+1
| | | | | | | Simplifies debugging of issues where the watchdog thread is involved. Change-Id: I4862167bca4a942c7d4319a9374f1f83f292d831 Reviewed-by: Simon Hausmann <hausmann@gmail.com>
* testlib: Defer signal dumper start until tests are ready to runTor Arne Vestbø2020-07-229-29/+21
| | | | | | | | | | | | | | | We don't want the signal dumper to pick up signals that our own test machinery produces, such as the ones emitted from the watchdog thread startup and shutdown. This would otherwise produce: tst_Signaldumper::initTestCase() Signal: QThread(7fc969e0d870) started () At startup, and at shutdown even more confusingly: tst_Signaldumper::UnknownTestFunc() Signal: QThread(7fc969e0d870) finished () Change-Id: I9e81fa168eaa92551d38d5576973bbf95ac23364 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* testlib selftest: rebaseline benchlibcallgrind resultsTor Arne Vestbø2020-07-225-32/+0
| | | | | | | | | | | | The logic was changed in eb52d78e90ad8870a to only produce a single result for all the benchmark iterations, but only the plain text output was rebaselined. This was not caught by the test since we only run this test with the plain test logger. Regenerating the results with the python script however runs it with all loggers, so let's fix the baseline. Change-Id: I9ebe8a59ac3ab36694a739f98dbfffbae9a08552 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* testlib selftest: check blacklisted test for test failuresTor Arne Vestbø2020-07-223-8/+7
| | | | | Change-Id: Ifcd1155f7627f6a9f8b379fb9e87425f9d9f2877 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* testlib selftest: unify xml quoted asserts that include line numbersTor Arne Vestbø2020-07-223-3/+3
| | | | | Change-Id: If66303bab10c23dd212a6abcdff3f145630e2401 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* testlib selftest: rebaseline tap results to not include line numbersTor Arne Vestbø2020-07-2225-462/+464
| | | | | Change-Id: I6271ac1984a3829ba1c8dcc9d6419940cb89c62b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Manual touch test: Add a settings dialog for windowsFriedemann Kleint2020-07-222-1/+86
| | | | | | | | | | Exercise the touch settings of the native interface. Task-number: QTBUG-41433 Task-number: QTBUG-48849 Task-number: QTBUG-83252 Change-Id: I5ae95a79c00b55236dbbed9d8549f4fdf5b10b8e Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Add QPlatformInterface::Private::QWindowsWindowFriedemann Kleint2020-07-2212-207/+39
| | | | | | | | Remove QWindowsWindowFunctions Task-number: QTBUG-83252 Change-Id: Iacfdf2e0f430208901c182e461c4617e1ef526ce Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Windows QPA: Move the touch types API from platformheaders into QtGuiFriedemann Kleint2020-07-2210-75/+87
| | | | | | | | | | | | | | | | | | | | Change TouchWindowTouchType(s) to be (global) property of QGuiApplication's native Windows interface since it does not make sense to set it per window. It appears the previous code setting the types per Window has never worked since registerTouchWindow() bailed out due to the checks for the flags TouchRegistered and IsTouchWindow() (setting in HCBT_CREATEWND). In addition, registering windows for touch after plugging in a device would not observe the setting. Move the checks around to make this work. Task-number: QTBUG-41433 Task-number: QTBUG-48849 Task-number: QTBUG-83252 Change-Id: I4306fdf13208f6eef22655875f3bd1769270e617 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Deal with macOS not enabling AVX512 state in XCR0Thiago Macieira2020-07-221-18/+50
| | | | | | | | | | | | | | | | | | | | | | | All Mac Pros launched since 2019 have AVX512 support (CLX processor) but the Darwin kernel does not enable the state bits in the XCR0 register for all processes by default. Instead, it traps the #UD exception and decodes the instruction to find out if it was an AVX512 instruction. If so, it adds memory to the thread's context switch space. See [1]. Good solution, but forces us to have OS-specific code to determine if the OS really supports AVX512. No other OS appears to require this. For future features (namely, Intel Advanced Matrix Extensions), there's an official way of implementing this, via the eXtended Feature Disable register. Qt has no AVX512 code yet, so this is just being future-proof. Apple has yet to announce when or if their Mac Pros will switch from Intel Xeon to ARM. [1] https://github.com/apple/darwin-xnu/blob/xnu-4903.221.2/osfmk/i386/fpu.c#L174 Change-Id: Ieffc3453b88c4517a1dbfffd162175ead343e622 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* macOS: Remove workaround for zero-size GL viewsTor Arne Vestbø2020-07-221-8/+1
| | | | | | | | This is no longer a problem, and this condition should be handled by QCocoaGLContext in any case. Change-Id: Iaac9d1a8962b27bf6f0394b8c1ea3e46dc28e29e Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* macOS: Ensure initial geometry is always setTor Arne Vestbø2020-07-221-2/+10
| | | | | | | | | | | | | | | | | | | | | | QPlatformWindow initializes its view of the geometry based on the QWindow geometry during construction. If the initial geometry we then compute is the same, we would end up exiting early from QCocoaWindow::setGeometry(), because we compared the new geometry against the QPlatformWindow::geometry(), and the geometry would never be reflected in the NSView. Due to other setGeometry calls this was in most cases masked, but could in theory happen, and is preventing us from cleaning up other parts of the code. The call to QWindow::setGeometry() after setting the initial geometry is also broken, as the initial geometry is available through the platform window and QWindow::geometry() already, so setting it again serves nothing except disabling d->positionAutomatic, which is not correct. Change-Id: I0db3cfe7d7c3d14070beee6ae3ea3dfd49da9e05 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Temporarily add a private QESDPv2Giuseppe D'Angelo2020-07-223-0/+169
| | | | | | | | | To unlock work while waiting for QISP. QESDP is lacking a few crucial APIs (isDetached() / isShared() / reset(ptr) / deep const), so we can't go there right away. Change-Id: I647eb0db4ea800488a323f3b64661e848998168d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* macOS: Remove stale code for handling view hiding during reparentingTor Arne Vestbø2020-07-221-4/+2
| | | | | | | | | | | | Commit a2bdda8e3ba added an unconditional hide of child NSViews, which was found to be too strict, and worked around in a199a87ad by undoing the hide during setParent(). The unconditional hide was then changed in 89842b97d7 to use the visibility state of the window, which means the workaround in a199a87ad is no longer needed. Change-Id: If0df2de65693e03c5fb53a906b1399accab3fcc4 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Fix the touch manual test to compileFriedemann Kleint2020-07-221-3/+2
| | | | | | Task-number: QTBUG-72167 Change-Id: I9074fc21ae8fccf66140fb38bfbd35e526506c36 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* QSysInfo: remove deprecated windowsVersion() and macVersion()Edward Welbourne2020-07-223-378/+0
| | | | | | | | | Remove their associated enums, too. All deprecated since 5.9. Change-Id: Ieefba1a08c221ea7b62500f219baea8a3ccfb7db Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Clean-up some Qt 5 leftovers from JSON serialization classesSona Kurazyan2020-07-224-109/+18
| | | | | Change-Id: I2ddf6901d627677395b39bec34c2c47d27e88d0b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* qnsview: don't active QWindows inside NSWindows that are not keyRichard Moe Gustavsen2020-07-224-4/+62
| | | | | | | | | | | | A QWindow should only become Active when it's inside an NSWindow that is Key. If the NSWindow is not key, we need to wait for it to be so, and handle window activation from QCocoaWindow::windowDidBecomeKey() instead. Otherwise Qt will report a QWindow as Active when, in reality, it is not. Change-Id: Ib7e63b374f26af527a668c7f7d863c4168a4446d Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Remove an outdated and nonsensical comment in the docsGiuseppe D'Angelo2020-07-221-4/+0
| | | | | | | After the QVector->QList rename it made no sense. Change-Id: I4a422f48b1f5d42c1c4d402ea947a0f4098172b7 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* tst_QPluginLoader: Fix MachO stub testsTor Arne Vestbø2020-07-222-5/+12
| | | | | | | | | The -arch_blank argument to lipo is no longer supported. Pick-to: 5.15 Pick-to: 5.12 Change-Id: I47efcb3633f23b7a18d66211bc16d5c9dbc067c8 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* iOS: Add a variable to customize where the launch image is taken fromAndy Shaw2020-07-225-7/+33
| | | | | | | | | | | | | For those who are providing their own launch images for their iOS projects then QMAKE_IOS_LAUNCH_SCREEN can be set to point to the location where the launch image to be used over the default. [ChangeLog][Platform Specific Changes][iOS] Added support for specifying a launch image to be used for an iOS project. This can be achieved by using QMAKE_IOS_LAUNCH_SCREEN. Change-Id: Ibb236655b282132ab5eee747986a93abb9802200 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* QTestlib: Enable comparing QList against initializer lists/arraysFriedemann Kleint2020-07-2114-210/+533
| | | | | | | | | | | | | | | | | | | | | It is unnecessary to create a QList container just for comparison. Split out helpers for comparing sequence sizes and sequences from qCompare(QList) and add a template for an array with a non-type template parameter for the size. One can then write something like: const int expected[] = {10, 12,...}; QCOMPARE(QFontDatabase.pointSizes(...), expected) Unfortunately, any commas in such an array will be misread by macro expansion as macro argument separators, so any expected array with more than one entry needs an extra macro expanding __VA_ARGS__. Change-Id: Ie7c8dc20bf669bbb25f6d7f8562455f8d03968c8 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Discard extra mouse move event generated by touchpadAndre de la Rocha2020-07-211-0/+7
| | | | | | | | | | | | | | | | | On Windows, and possibly other platforms, a touchpad can send a mouse button press followed by an unexpected mouse move event to the same coordinates, before sending a mouse button release, which may confuse applications. Before the enhanced mouse event processing was added, the code in QGuiApplication was responsible for deducing the mouse event type and other info, and in the process performed a checking that discarded events that did not change state. The enhanced mouse processing code lacked this checking. This change adds an equivalent checking to the enhanced mouse event processing. Fixes: QTBUG-85431 Pick-to: 5.15 Change-Id: Ie3e2ae8cbf9870d465dfd2c8808942dd6fc647d2 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* tst_QLine: use qmath.h's constants instead of local versionsEdward Welbourne2020-07-211-15/+9
| | | | | Change-Id: I41313f7e7caf3c364ae900a0b100c661aafb290d Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
* QAssociativeIterableImpl::advanceImpl(): remove deprecation protectionEdward Welbourne2020-07-211-3/+0
| | | | | | | | The comment claims it is needed for "the deprecated QHash::iterator::operator--()", which has been removed already. Change-Id: I90f5abdcd14e6cac4ed7144e96eb26bf34477391 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Start the native interface QWindowsApplicationFriedemann Kleint2020-07-2118-210/+200
| | | | | | | | | | | | Implement the static parts of QWindowsWindowFunctions. Move some things around and make them static in tablet support to make this easier. Task-number: QTBUG-83252 Change-Id: I24c3b0b3c6548eb96c4f3285a4e46385a1e79ef5 Reviewed-by: André de la Rocha <andre.rocha@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Fix testlib/selftest generate_expected_output.pyTor Arne Vestbø2020-07-211-1/+1
| | | | | | | Amends 40bc8d51298adf9d342de8195d6ead81a9cc6bcb. Change-Id: Iacaabec0c620db84278656501e64fc2b765e052f Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* testlib selftest: Add README explaining how to run and debug testsTor Arne Vestbø2020-07-211-0/+71
| | | | | Change-Id: Ica08f7013933e9e6a7678c0ba1f5827efa6eff42 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* testlib selftest: Properly print failing testsTor Arne Vestbø2020-07-211-2/+2
| | | | | | | | | We don't want to print the QString as represented by the debug operator, but instead want to expand line feeds and other character codes as normal. Change-Id: I7261d8f94e7b4382733f06eb22f9a740a5c0488f Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Ensure styles always get to polish the application paletteTor Arne Vestbø2020-07-214-18/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Before 0a93db4d82c051164923a10e4382b12de9049b45 we would polish the application palette even when it was the default palette, as we always recreated the system palette each time a style was set. After the change we skipped polishing the palette unless it was set by the user, under the assumption that the style would set its own default palette if it wanted to override the system palette. This turned out to break the style's ability to slightly tweak the palette via polish (versus the more full on standardPalette approach). We now polish both the default palette and user palettes, and we do so as part of the normal palette update logic. This ensures that the style also gets a chance to polish the palette when the platform theme changes. The polish will not have an effect on the resolve mask of the palette, as the polish is conceptually the same as a base palette, and should not affect e.g. Qt::AA_SetPalette. Fixes: QTBUG-85469 Fixes: QTBUG-85188 Pick-to: 5.15 Change-Id: I869e9c442b177de4f1dc49eb75220709306f4d12 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Fix SSE4 instruction leak in GCC10 debug buildsAllan Sandfeld Jensen2020-07-211-2/+2
| | | | | | | | toArgb32 was leaking an SSE4 instruction when not inlined. Pick-to: 5.15 Change-Id: I5df87bc7343f4ec40881a0aedd6f066323143817 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Fix some qdoc warningsFriedemann Kleint2020-07-213-3/+3
| | | | | | | | | | | | | | | | | | src/corelib/text/qstringconverter.h:160:54: error: no matching constructor for initialization of 'QStringConverterBase::State' src/corelib/text/qstringconverter.h:72:19: note: candidate constructor not viable: no known conversion from 'QFlags<QStringConverter::Flag>' to 'QFlags<QStringConverterBase::Flag>' for 1st argument src/corelib/text/qstringconverter.h:75:9: note: candidate constructor not viable: no known conversion from 'QStringConverter::Flags' (aka 'QFlags<QStringConverter::Flag>') to 'QStringConverterBase::State' for 1st argument src/corelib/text/qstringconverter.h:108:24: note: candidate constructor not viable: no known conversion from 'QStringConverter::Flags' (aka 'QFlags<QStringConverter::Flag>') to 'const QStringConverterBase::State' for 1st argument src/corelib/text/qstringconverter.h:159:32: warning: constexpr constructor that does not initialize all members is a C++20 extension [-Wc++20-extensions] src/corelib/text/qstringconverter.h:187:11: note: member not initialized by constructor src/corelib/kernel/qproperty.h:403:14: error: deduction guide must be declared in the same scope as template 'QProperty' src/corelib/kernel/qproperty.h:202:7: note: template is declared here src/corelib/kernel/qproperty.h:403:14: error: deduction guide declaration without trailing return type src/gui/painting/qregion.h:139:5: error: unknown type name 'HRGN' src/gui/painting/qregion.h:140:29: error: unknown type name 'HRGN' Change-Id: I3c195a60ceeb51664368a4aeef90c70c31954fc3 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Use --strict option for wayland-scannerPaul Olav Tvete2020-07-211-3/+3
| | | | | | | | Make protocol definition errors build errors. Task-number: QTBUG-73100 Change-Id: I834d1a9f6f4150875732772c14bde15b5e12b4e8 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Stop using deprecated wayland-scanner argumentPaul Olav Tvete2020-07-211-1/+1
| | | | | | | | The argument "code" is deprecated. Use "public-code" instead. Task-number: QTBUG-73099 Change-Id: I3e822df956613d4f8338525324ffca744f27bc0c Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* CMake: Print various CMake and Qt CMake information variablesAlexandru Croitor2020-07-202-9/+90
| | | | | | | | | | | Sometimes the info we show in the configure summary might differ from the information that CMake computes. To more easily debug and fix such cases, print out various CMake info variables like host and target info, compiler versions, sdk versions, etc. Change-Id: I37a11dfabe5369236af78684a09bd3cec3fdd398 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* CMake: Pass CMAKE_OSX_ARCHITECTURES to try_compile on macOSAlexandru Croitor2020-07-201-9/+11
| | | | | | | | | | | | | | | | | | | | There was an inconsistency where configuring qtbase on Apple Silicon with the following command line produced different results rom the second variant. $ cmake ../qtbase -DCMAKE_OSX_ARCHITECTURES=arm64 vs $ CMAKE_OSX_ARCHITECTURES=arm64 cmake ../qtbase That happened because the CMAKE_OSX_ARCHITECTURES variables was not passed to project-based try_compile calls. This resulted in compile tests like SIMD avx to succeeded on Apple silicon, which shouldn't. To address that, always pass the architecture on macOS if it's specified. Change-Id: Ia12e86230cc6e5e11f387e3cbb273d90646ef2e3 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* CMake: Fix configuration of CMake tests in-build-treeAlexandru Croitor2020-07-202-5/+16
| | | | | | | | | | | | Qt6 package was not found the tests were configured in-tree as opposed to standalone tests. Use the same trick we do for building examples in-tree. Specify the path to the build tree packages, and don't create targets. Amends 96e3ee06598d00e7155f3f8574759ea658a134e5 Change-Id: Ia60de416ce0afff5bd40be8c0c6e3c7898fd7ebf Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* Add fixme note to QWindowPrivate::setVisible about visibility during createTor Arne Vestbø2020-07-201-1/+7
| | | | | Change-Id: I71cb5b560538887f85d92178ff17eaaecaf06904 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Add QEvdevKeyMapper platform interfaceTor Arne Vestbø2020-07-2014-283/+66
| | | | | | Task-number: QTBUG-84220 Change-Id: I4f3a54415c5509b4bde486b54c56b0e05976bac6 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Add QXcbWindow platform interfaceTor Arne Vestbø2020-07-2017-565/+136
| | | | | | Task-number: QTBUG-84220 Change-Id: I8bb4288f1ac06d77fb4f43ae091fa1712f694eeb Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Move private platform interfaces to private QPA headersTor Arne Vestbø2020-07-2012-44/+109
| | | | | | | | | They should not clutter the "public" QPA headers that clients use to implement new platforms, and having them in the private headers allows us to check for private configure features. Change-Id: Ib4b4db96c086d81bb5810392c7c8922fc5b4950d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Add QXcbScreen platform interfaceTor Arne Vestbø2020-07-209-92/+25
| | | | | | Task-number: QTBUG-84220 Change-Id: I6c166409fbaf50627dea65a6256764e08ab36a59 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* QBasicTimer: purge deprecated APIEdward Welbourne2020-07-202-34/+2
| | | | | | | Since 5.14, copy constructor and assignment. Change-Id: Id569968ee3879caea2f69e373d392881901965f2 Reviewed-by: David Faure <david.faure@kdab.com>
* QAbstractEventDispatcher: purge deprecated APIEdward Welbourne2020-07-201-11/+1
| | | | | | | | | Since 5.0, registerTimer() without a timer type; and filterEvent(void *) Change-Id: Id50c2daaf7b144ec403351d0fc50111272b34521 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: David Faure <david.faure@kdab.com> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* QRegularExpression: Purge deprecated PatternOption membersEdward Welbourne2020-07-202-10/+5
| | | | | | | | | They've been no-ops since (at least) 5.12. At the same time, save future readers the need to git blame to find out how long the other deprecated enum name is. Change-Id: I2081ba2859c6540651b6f6807cc6bd59890bfce5 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* QCommandLineOption: purge deprecated APIEdward Welbourne2020-07-203-44/+2
| | | | | | | | Since 5.8: setHidden(), isHidden() Part of the QCommandLineParser test also used setHidden(). Change-Id: I05a1c63ff3beb1167ed75632c1b71d7fff17f09e Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* QTemporaryFile: purge deprecated APIEdward Welbourne2020-07-201-7/+1
| | | | | | | Since 5.1: createLocalFile() Change-Id: I6743df58281d6ba7d90cc6735362e8b654565588 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* QUrl: purge deprecated APIEdward Welbourne2020-07-203-135/+2
| | | | | | | | Since 5.0: QUrl's image of the QUrlQuery API Remove deprecation-suppression from tst_qurl.cpp, too. Change-Id: Ide826283cb4e177fb34fb4080502f5a4620bd5d7 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* QChar: purge deprecated APIEdward Welbourne2020-07-203-86/+2
| | | | | | | | Since 5.3 joining() and old Joining type Replaced by JoiningType joiningType() Change-Id: Iefee50aaf94cec6d67b5fc004b3e68357b2015c5 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>