summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Android: Add the required linker flags for unwinding on armeabi-v7aAndy Shaw2020-11-121-0/+3
| | | | | | | | | These flags are indicated as required for armeabi-v7a here: https://android.googlesource.com/platform/ndk/+/master/docs/BuildSystemMaintainers.md#Unwinding Pick-to: 5.15 Change-Id: Id2bbfc65c4ed9bda29692869a719dbab70891491 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Doc: Fix documentation warnings for Qt WidgetsTopi Reinio2020-11-123-49/+10
| | | | | | | | | | - Exclude forwarding headers to Qt GUI as they caused the headers to be parsed twice. - Drop documentation for removed example Task-number: QTBUG-86295 Change-Id: I08eb46b7c7f813f103cc545f931896be99a3ccec Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Doc: Fix documentation warnings for Qt OpenGLTopi Reinio2020-11-123-1/+8
| | | | | | | | | Use a custom module header for the documentation build that pulls in also QtOpenGLWidgets' headers. Fixes: QTBUG-88275 Change-Id: I4e1144b179a124b01114de24cc183289fa05fb33 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Doc: Add missing brief statements for \property documentationTopi Reinio2020-11-1213-52/+52
| | | | | | | | ... where applicable. Fixes: QTBUG-88232 Change-Id: I835df434765caededd35d5114965b4a1663e7942 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* QStringTokenizer: fix a misuse of std::moveGiuseppe D'Angelo2020-11-121-2/+2
| | | | | | | | | | `Container` is a forwarding reference, so use std::forward. The deduction for l-values wouldn't make this code even compile with std::move. Change-Id: Icc9b81a8ad1c76ef1e2ef0f08e7a86b0b4c4ce59 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* QMutex: order reads from QMutexPrivate::waiters and QBasicMutex::d_ptr in ↵Alexander Kartashov2020-11-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QBasicMutex::lockInternal() Threads that unlock and lock a mutex at the same time perform the following operations: Thread 1 Thread 2 -------- -------- QBasicMutex::lockInternal() QBasicMutex::unlockInternal() d_ptr.testAndSetOrdered(..., d) d = d_ptr.loadAcquire() d->waiters.loadRelaxed(); (1) d->waiters.fetchAndAddRelease() (2) d_ptr.testAndSetRelease(d, 0) (3) d->derefWaiters() (4) d->waiters.testAndSetRelaxed(...) (5) if (d != d_ptr.loadAcquire()) (6) d->wait() The operation (1) isn't serialized with the operation (6) so its memory effect may be observed before the effect of the operation (1). However, if memory effects are observed in the following order: (6) -> (1) -> (2) -> (3) -> (4) -> (5) then Thread 1 doesn't notice that Thread 2 updates d_ptr and goes to sleep with d pointing to a stale object, this object isn't reachable since d_ptr is zeroed so Thread 1 cannot be woken up. The patch adds the "acquire" barrier into the operation (1) so that it cannot be reordered with the operation (6). Fixes: QTBUG-88247 Pick-to: 5.15 5.12 Change-Id: I1d0c405c0bf5080ec1815d351b9b4b75efeab21a Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Reject `const T*`-convertible types in QCommonArrayOps::copyAppend<It>Andrei Golubev2020-11-112-2/+5
| | | | | | | | | | | | In many cases (e.g. relocatable and pod), generic version is more expensive. Let's not expect array data ops to only get QADP iterators as input. Instead, reject generic version for any const T* -convertible iterator and force compiler to select copyAppend(const T *b, const T *e) as a suitable overload Change-Id: I47a09d35a8ff15322381c2aa28258bfc7deebbad Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Fix QGraphicsView's abuse of QEvent's d-pointer in Leave event handlingVolker Hilsheimer2020-11-114-7/+14
| | | | | | | | | | | | | | QGraphicsSceneEvent carries a widget pointer, and we can add a new event type. Assert that QGraphicsScene doesn't get Leave events from elsewhere. This was the only "usage" of QEvent's d-pointer in Qt, so with this gone we can reduce the size of QEvent by 8 bytes. Change-Id: I0513daf742de9084d0469d55b7a7f41b667e8081 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* MSVC: enable identical COMDAT folding for release buildsYuhang Zhao2020-11-122-3/+3
| | | | | | | | | | | | | | | According to Microsoft's docs, /OPT:ICF is enabled by the linker by default unless /OPT:NOICF or /DEBUG is specified. If we are in RelWithDebInfo mode, /DEBUG is passed to the linker to generate debug symbols, however, it caused the identical COMDAT folding be disabled. We now pass /OPT:ICF to the linker explicitly to prevent this. [1] https://docs.microsoft.com/en-us/cpp/build/reference/opt-optimizations?view=msvc-160 Change-Id: I02099edb81034ace7bb19f1164d57829e3979a5f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* pro2cmake.py: support for PAST_MAJOR_VERSIONS in qml_modulesFawzi Mohamed2020-11-111-0/+5
| | | | | | | | | | maps qmake QML_PAST_MAJOR_VERSIONS to PAST_MAJOR_VERSIONS in cmake qml modules, introduced in qtdeclarative qmltyperegistrar: Add past-major-version option Change-Id: Ifbee7c87318cc9dc7d7961db80cad518e67ecffe Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* cmake: Handle exported namespace when computing depsTor Arne Vestbø2020-11-111-2/+2
| | | | | | | We need to handle the possibility of versioned dep (Qt6::Foo). Change-Id: I66797dbc59f00500892958e9c99c4555cddcb980 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* cmake: Handle genexes when computing dependsTor Arne Vestbø2020-11-111-1/+1
| | | | | | | If not, the resulting dep would end up as 'Foo>', but we need 'Foo'. Change-Id: I246b66eb0ac6b076eea200c4d1ad84bba8ed179c Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Add mapping for qtquick3d's assimp libraryAlexandru Croitor2020-11-111-0/+9
| | | | | | | | | | The original non-prefixed mapping is kept for qt3d's assimp library usage. Adapts to b14b14e9194708cf02df1149bd735f6ce245c3e4. Change-Id: I1beb48854ef3088a23e1d67ff855e4b7427024bb Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* CMake: Potentially use INSTALL_LIBDIR in qt6_extract_metatypesAlexandru Croitor2020-11-111-2/+7
| | | | | | | | | The INSTALL_LIBDIR value is only set when doing a Qt build. Use it when available, otherwise default to a more 'hardcoded' value. Change-Id: I96b7b8094c699de59ffaff00cd677d8322c474c3 Reviewed-by: Christophe Giboudeaux <christophe@krop.fr> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* QXmlStreamReader: don't store pointersMårten Nordheim2020-11-113-15/+28
| | | | | | | | | | | | | They were pointing into the QHash structure which could be invalidated on insert if growing was needed. This caused some user-after-free issues. Indexing into the QHash is quite fast, so let's just store the name and a pointer to the QHash to do that. Fixes: QTBUG-88246 Change-Id: If7f9b1c6ea7557c5bd0869b42b1b84aa824cc6ce Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix misidentification of some shearing QTransforms as only rotatingEirik Aavitsland2020-11-112-3/+4
| | | | | | | | | The dot product used rows instead of columns. Pick-to: 5.15 5.12 Fixes: QTBUG-87984 Change-Id: I922f67ed0fa9a4f88aa4e9fc6d3c09f8dda21688 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Doc: Update/scrub QString documentationKarsten Heimrich2020-11-113-27/+26
| | | | | | | Fixes: QTBUG-86554 Change-Id: I3d40295115207c430ec30bbac6fb241bf897e5fa Reviewed-by: Andrei Golubev <andrei.golubev@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Doc: Add Qt6 QDBus porting guideKarsten Heimrich2020-11-111-1/+21
| | | | | | | Fixes: QTBUG-88027 Change-Id: Ic4fa2070aa7068a1d0ff02d43aa6a3d1d10db0d7 Reviewed-by: Alex Blasche <alexander.blasche@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Remove QTest::lastMouseButtonShawn Rutledge2020-11-112-4/+0
| | | | | | | Followup to b3e91b66b9175c1c3ff5f73f3ac231f74f9bf932 Change-Id: Icd7ceb8cb671705ab77641133d0d799ea091f1a3 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Add QByteArray::insert(qsizetype, const QByteArray &)Mårten Nordheim2020-11-113-0/+34
| | | | | | | | | | | | | | | | For consistency with append and prepend we should have an overload for insert() as well. This also enables insert() to be used with QStringBuilder, i.e. qba.insert(2, qba2 + "abc"). Because simply adding a const QByteArray & overload causes ambiguity with QByteArrayView we also add a const char * overload. Add some extra test-cases. Two for QByteArrayView since it's not directly tested anymore. One for inserting self directly. Change-Id: Ieb43a6a7d1afbb498bc89c690908d7f0faa94687 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Doc: Add Qt6 XML porting guideKarsten Heimrich2020-11-111-1/+71
| | | | | | | Fixes: QTBUG-88026 Change-Id: I5f23e3ba984b7aaa326b713a03101797298c44d7 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
* Use QTRY_COMPARE in an attempt to make the test less flakyVolker Hilsheimer2020-11-101-2/+2
| | | | | | | | | The test function only runs on X11, and this might help with the asynchronous nature of the client/server architecture, also for drag'n'drop. Change-Id: I38db9104e304e57c36f84932d13f8dfae7452883 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* cmake: Fix genex syntax error for iOS entrypointTor Arne Vestbø2020-11-101-1/+1
| | | | | Change-Id: I09f8870b937b7effd547071530636c314d242a16 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Build Qt (and client apps using it) with /permissive-Giuseppe D'Angelo2020-11-105-11/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | *Not* using /permissive- exposes Qt and client apps to interesting bugs and/or build failures, (e.g. QTBUG-87225, or 19b5520abfb5f66d4b83c7a18cc72d68673d098a). We demand strict conformance by any other compiler, it's time to demand it from MSVC too. The Windows headers themselves are clean starting from the Windows Fall Creators SDK (10.0.16299.0), and moreover Qt 6 will drop WinRT; therefore, the comment in the mkspecs does not apply any more. Since /permissive- implies /Zc:referenceBinding, drop that option. The other implied options are set on MSVC < 2017, but I leave them in to avoid tinkering with the fragile lists of C/C++ flags. Rename the CMake internal helper function to better describe what it does. Fixes: QTBUG-85633 Fixes: QTBUG-85637 Fixes: QTBUG-85635 Fixes: QTBUG-88244 Change-Id: Ie03fddb61aa066fdc14b7231c22e7108b4a02fbb Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Kai Koehne <kai.koehne@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Rename remaining QEvent variables to m_ convention; init m_reservedShawn Rutledge2020-11-108-39/+41
| | | | | Change-Id: I08694657b7c9d2713d0cb33519698dbba3bfdffa Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* CMake: Map configure -hostdatadir to INSTALL_MKSPECSDIRJoerg Bornemann2020-11-102-0/+7
| | | | | | | | | | In the qmake-based build, the hostdatadir is the directory where "Data used by qmake" is located. In the CMake build the equivalent is INSTALL_MKSPECSDIR. Create the mapping accordingly. Fixes: QTBUG-88211 Change-Id: I9e3d1af24bc7f41333ef2269fced5ab3fcfa848d Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Simplify Q*ArrayOps emplace() signatureAndrei Golubev2020-11-101-19/+18
| | | | | | | | | | | | Template type never would've worked, really. We relied everywhere that 'iterator' is comparable to our iterators (in generic version it should be even the same type - see std::rotate API) and the iterator type is castable to T* in POD and Movable cases, so simplify that, no need for extra template boilerplate Change-Id: I263ae2ba90ca27abceca01fcc21d80a350bbd743 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* MinGW: Fix compile error in qlocale_win.cppFriedemann Kleint2020-11-101-3/+3
| | | | | | | | | | | | | Cast enumerations to ushort, fixing: src/corelib/text/qlocale_win.cpp: In member function 'virtual QVariant QSystemLocale::query(QSystemLocale::QueryType, QVariant) const': src/corelib/text/qlocale_win.cpp:765:34: error: enumeral and non-enumeral type in conditional expression [-Werror=extra] As a drive-by, fix deprecation warning about QVariant::type(). Amends 098f43fdd2d46e15c87073aae44c5f2bd0cd8c98. Change-Id: I2adc9833c6d6d9e9d2500f0b92b25cb5d38b583b Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* QWinEventNotifier: unlink from event dispatcherAlex Trotsenko2020-11-1011-179/+199
| | | | | | | | | | | | | | | | | | | | | | | | Instead of multiplexing all notifications into a single Qt event for the event dispatcher, we can send 'WinEventAct' event directly for each notifier which activated. This trick improves the performance (esp. on a large number of events) and allows us to remove notifiers handling from the event dispatcher completely. As an alternative to sending Qt events, use of Windows' APC queue in conjunction with waking up the Qt event loop from within the Windows thread pool has been considered. However, that would lead to signal emission asynchronous to the Qt event loop's operation, which is not acceptable. Thanks to Oswald Buddenhagen for the proposed idea. [ChangeLog][QtCore][QAbstractEventDispatcher] The {un}registerEventNotifier() member functions have been removed. QWinEventNotifier is no longer needed to be registered in the event dispatcher. Change-Id: I140892fb909eaae0eabf2e07ebabcab78c43841c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
* resources_function.prf: Discard external path prefixesMaximilian Goldstein2020-11-101-0/+6
| | | | | | | | | | | qtdeclarative's QtQml module adds a dynamically generated qmldir file to its RESOURCES which is located outside the source directory. Previously this caused qmake to generate an invalid alias for the qmldir file. Now the relative path is discarded properly. Fixes: QTBUG-88204 Change-Id: Ia689d9d110db092cee595bf44fcbb6d57783fded Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* configurejson2cmake: Follow up fix to a regressionAlexandru Croitor2020-11-101-0/+1
| | | | | | | | UnboundLocalError: local variable 'skip_special_case_preservation' referenced before assignment Change-Id: Ic7419e0bdd04a4251182d1a2616cd57e89e62432 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* CMake: Allow using DESTDIR when installing documentationChristophe Giboudeaux2020-11-101-7/+20
| | | | | | | | | | | | | | Previously, QtDocsHelpers.cmake was invoking CMake to copy files or directories instead of using installation targets. This resulted in DESTDIR being ignored. Now we create installation targets and ask CMake to install them. Change-Id: Idbc79d47a37f9ca865d28543bdbbdde3ba448fa3 Fixes: QTBUG-87382 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Replace ushort -> quint16 in event classesShawn Rutledge2020-11-103-14/+14
| | | | | | | | We used quint32 for 32-bit types and ushort for 16-bit ones, but using explicit bit sizes looks more consistent. Change-Id: I3106dd6ecb2367fef6f8012c28266e1b4b1abf4b Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Silence "same window" warning when QPA doesn't give touch dest windowShawn Rutledge2020-11-101-6/+4
| | | | | | | | | | | | Platform plugins should dispatch events to specific windows when possible; but eglfs currently doesn't do that, so this warning was printing for many touch events. Now we print it only if the window that the platform plugin says *should* handle a touch move or release is non-null and *different* than the one that actually handled the press. Fixes: QTBUG-88192 Change-Id: Ia3271b5e67902dcf8a1cdae605adec470c3cfd89 Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
* Reset the velocity Kalman filter when the mouse enters a windowShawn Rutledge2020-11-101-0/+12
| | | | | | | | | | | | | | If we always tracked the mouse, we could always have accurate velocity; but most of the time, when the mouse enters a top-level window, we don't know how fast it was moving at that time, unless the application has requested a window-system mouse grab. It's better to assume that any residual velocity stored in the persistent QEventPoint instance (in QPointingDevicePrivate::activePoints) is inaccurate, and just start over from zero. Especially for the sake of autotest sanity. Task-number: QTBUG-88346 Change-Id: Id6c4fbffb8a86a8ab50a09f09aa62125d10155b4 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Android: fix android java and templates targets with -developer-buildAssam Boudjelthia2020-11-102-5/+15
| | | | | | | | | | | | | | On Windows with -developer-build java and templates files are not copied properly, this makes sure to copy the files and dir for both targets. Also, avoid creating a a deployment-settings.json file by adding "TEMPLATE = aux". Fixes: QTBUG-87627 Pick-to: 5.15 Change-Id: Iae269c3180a7b6d904fdba2e69fb3f815bbb1211 Reviewed-by: Andy Shaw <andy.shaw@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Move iOS entrypoint logic to entrypoint libraryTor Arne Vestbø2020-11-109-66/+90
| | | | | Change-Id: Ie0fc8368953a59d06a31847ed417bc3c35f29b90 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Remove custom logic for writing entrypoint implementation priTor Arne Vestbø2020-11-102-21/+15
| | | | | | | | | | | | Trying to keep the logic self-contained resulted in a race condition during 'make install', even if the two sub projects were CONFIG+=ordered. The approach is now similar to what we have on the CMake side, where the ldflags and defines end up in the 'interface' module. Change-Id: Id08a3ca12da8e7fc36ad76124b52ca4c79aebe3b Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Implement configure -list-featuresJoerg Bornemann2020-11-103-2/+49
| | | | | | | | | Extend qt_configure_get_padded_string to make the feature list look like qmake's. Fixes: QTBUG-88144 Change-Id: I714f2b2f3537b506365a03b5b6bc3413e9cab167 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Warn when building Qt with a generator other than NinjaAlexandru Croitor2020-11-101-0/+10
| | | | | | | | | | | | For now, we only support building Qt with the Ninja generator (and Ninja Multi-Config). Issue a warning when a different generator is used. Allow opting out of the warning by passing -DQT_SILENCE_CMAKE_GENERATOR_WARNING=ON. Change-Id: I5faa5b0ca5fd42efc090ad2ccf4f896bd77e50ca Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* CMake: Fix cmake tests for no-widgets and no-gui configurationsAlexandru Croitor2020-11-101-6/+30
| | | | | | Task-number: QTBUG-86053 Change-Id: I108977546304f203f6e2b7e983bb909b76626a9f Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Android: recommend against using ANDROID_ABIS inside the project fileAssam Boudjelthia2020-11-101-7/+3
| | | | | | | Pick-to: 5.15 Task-number: QTCREATORBUG-24674 Change-Id: Iad6baa1af61d3d1a44f26cb9d51e3cb97d235707 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* CMake: Fixup outdated configure.cmake filesAlexandru Croitor2020-11-102-10/+1
| | | | | | | | Some outdated changes don't get removed when using special case preservation, so remove them manually. Change-Id: Iba1481ab9a924c3031bd5ce394d5183a5393f146 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* configurejson2cmake: Allow skipping of special case handlingAlexandru Croitor2020-11-101-13/+23
| | | | | | | | Useful when cleaning up configure.cmake files that might have outdated content. Change-Id: I3872e81b7e896de83c1f6635499316bdbe3acb16 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* CMake: Fix qtbase cmake tests to pass when configured in-treeAlexandru Croitor2020-11-101-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | As opposed to standalone tests. The problem is that 4 of the cmake failbuild tests use try_compile as an indirection layer to configure /another/ project which is actually the test. That project needs to know the location of Qt. To do that, a FindPackageHints.cmake file is included and the variable it sets is passed to find_package() HINTS option. That's enough to find a specific module, but not any dependent Tools packages. Work around that by adding the Qt location to CMAKE_PREFIX_PATH in the included FindPackageHints.cmake file. The problem does not happen in standalone tests, because the Qt location ends up being propagated via the qt toolchain file, which does get inherited by the compile tests (albeit in a weird way, where a reconfiguration still shows CMAKE_PREFIX_PATH to be empty). Change-Id: I1f7ce940fd31678b46c0356edf6581e523cb885a Fixes: QTBUG-86963 Reviewed-by: Andreas Buhr <andreas.buhr@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* CMake: Fix missing resources in Windows debug DLLs/EXEsJoerg Bornemann2020-11-101-6/+8
| | | | | | | | | | | | | | | | | When configuring a Windows build with NMC and "CMAKE_CONFIGURATION_TYPES=Release;Debug", then with CMake 3.18.4 only the targets of the main configuration would get the version resource compiled in. With 3.19.0 RC 2 the problem cannot be observed. Work-around the issue by revisiting our work-around of another CMake issue: use just one object library per target to embed win32 resources. This works with both tested CMake versions and seems cleaner anyways. Fixes: QTBUG-88267 Change-Id: I20f596ab669ae716c330d7aa60aa717b9e3e4aa7 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Make Release the main config of a -debug-and-release buildJoerg Bornemann2020-11-101-1/+1
| | | | | | | | In configure we need to set the Release configuration first to make it the main configuration. Change-Id: I5fe744b0dcea009c4d672bf519b38c80c87475dd Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* QSignalSpy: Use QMetaType instead of metatype id in initArgsFabian Kosmale2020-11-102-6/+28
| | | | | | | | | | | | | | | The RegisterMethodArgumentMetaType had been changed to take a QMetaType instead of a type id in 0161f00e5043090f22b23de9822c09062b17d675. Unfortunately, the usage of it in QSignalSpy was missed. This patch adjusts the metacall to correctly use a QMetaType. Moreover, use parameterMetaType instead of parameterType to benefit from metatypes which are already resolved at compile time. Task-number: QTBUG-88260 Fixes: QTBUG-88356 Change-Id: Id8fa46581a005d62818971ea24d8aa2e39dcd6d0 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Move the remaining QSinglePointEvent ctor to protected; add source argShawn Rutledge2020-11-102-13/+13
| | | | | | | | | | | | | QSinglePointEvent no longer has public constructors: we don't expect users to construct instances, because it's conceptually an abstract base class (even though some subclasses don't add more storage). We give it a Qt::MouseEventSource argument so that m_source won't need to be set in other subclasses. There was some hope of removing MouseEventSource completely, but it hasn't been done, for the sake of avoiding SC breaks. Change-Id: Iea2946699726fb7ac98757b7b8f1b7cfdccc1449 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Remove code for non-enhanced mouse eventsShawn Rutledge2020-11-102-74/+25
| | | | | | | | | | | | Followup to a37785ec7638e7485112b87dd7e767881fecc114. The mouse button that caused the event and the current state of all mouse buttons must always be given separately in QPA mouse events. Task-number: QTBUG-59277 Task-number: QTBUG-62329 Task-number: QTBUG-63467 Change-Id: I27209b3730baef325ce0f1c4d3778930e72d5465 Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>