summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/dev' into wip/qt6Alexandru Croitor2019-09-04768-82418/+130247
|\ | | | | | | Change-Id: I54741635460bb2d8f3fd0be535ee1968d6c442bb
| * Merge "Merge remote-tracking branch 'origin/5.14' into dev"Qt Forward Merge Bot2019-09-0313-106/+204
| |\
| | * Merge remote-tracking branch 'origin/5.14' into devQt Forward Merge Bot2019-09-0313-106/+204
| |/| | | | | | | | | | Change-Id: I10ca9b20c26838800c654103951367a36af3ee30
| | * Fixup includesAllan Sandfeld Jensen2019-09-022-1/+2
| | | | | | | | | | | | | | | | | | | | | One include too many and one too little. Change-Id: I9963adb02523305d753135c0f5a6baefb83a06f1 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
| | * Fixup move semantics of QColorSpaceAllan Sandfeld Jensen2019-09-024-37/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Stop using QExplicitlySharedDataPointer, makes it possible to inline the move constructor and assign operator. Also protect other methods from nullptr d_ptr, and change the default constructed value to also have a null d_ptr, to match the result after a move. Change-Id: I40928feef90cc956ef84d0516a77b0ee0f8986c7 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| | * Android: Add aab targetBogDan Vatra2019-09-021-3/+15
| | | | | | | | | | | | | | | | | | | | | | | | Move aab, apk, apk_install_target to !build_pass, otherwise these targets will be executed for each android abi. Change-Id: I18f6c8946f503f2c08338f24758bf9059987fe0f Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
| | * Add support for aabBogDan Vatra2019-09-021-42/+71
| | | | | | | | | | | | | | | Change-Id: I4814a51b25d5e3953e5e1c71d9a0e1bf3fed7385 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
| | * QFileSystemModel: Fix naming of Option enumerationFriedemann Kleint2019-09-023-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | Fix an API review finding in 5.14, amending 6b9d319b26da2e4b6f939ee92a176f8604c1c539. Change-Id: I6c67ebde91021b87a43a86ff831b724f098019aa Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| | * Make sure QLatin1Literal fwd header is generatedKevin Funk2019-09-022-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This broke when QLatin1Literal got deprecated in change 45373c19243aea335897ba0f371a1dd53ae8f079 Both hunks in this patch are needed. The hunk in syncqt.pl removes the QT_DEPRECATED_X(...) macro if it appears solely on a line in source code, the second hunk inserts a newline after the QT_DEPRECATED_X(...) macro usage to trigger that code path in the Perl script. Before/after comparison of the headers generated in include/QtCore: ``` % diff ~/old.txt ~/new.txt 105a106 > QLatin1Literal ``` Change-Id: I468dd2dd54bf115521ed82c6182236905556f568 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
| | * QTouchDevice: don't play ping-pong with q*PostRoutine()Marc Mutz2019-08-301-15/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removing a qPostRoutine is an O(N) operation. It's perfectly ok to keep calling it even if the list has become empty before. Just qAddPostRoutine in the deviceList's ctor and never remove it again. Add a missing qAsConst as a drive-by. Change-Id: I25f824b74012146214568cfccb22c5dba3ca38ef Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
| * | Merge "Merge remote-tracking branch 'origin/5.14' into dev"Qt Forward Merge Bot2019-08-3122-442/+670
| |\ \
| | * | Merge remote-tracking branch 'origin/5.14' into devQt Forward Merge Bot2019-08-3122-442/+670
| |/| | | | |/ | | | | | | Change-Id: I525112b5afbbe8f7fbb54da527bddb94a0c2c242
| | * Android: clean configure params for androidBogDan Vatra2019-08-304-13/+2
| | | | | | | | | | | | | | | | | | | | | -android-toolchain-version is not needed anymore as we are using exclusively the llvm toolchain. Change-Id: Ia033297a6a2c968352c364758eb1436380a5f96e Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
| | * Fix spelling of primarily in QCalendar::isSolar()'s docEdward Welbourne2019-08-301-1/+1
| | | | | | | | | | | | | | | | | | | | | It was missing a y. Change-Id: I12dac02e451addff966f554811ca1999acadbb1b Reviewed-by: Jesus Fernandez <jsfdez@gmail.com>
| | * Remove QFileInfo::type and related enum from 5.14Volker Hilsheimer2019-08-303-165/+136
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The API is problematic for several reasons: - the mixing of flags and enum in a single enum type - the name "type" as somewhat overloaded - the ease of misuse when comparing the result rather than testing for a bit being set In light of this, focus for 5.14 on the new isShortcut and isSymbolicLink functions, thus migitating the problematic isSymLink which conflates the two concepts. Change-Id: I57e02321edd5061f69a775f04a0932ef89adf866 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
| | * Update QPA mouse event handling in offscreen and VNC pluginsShawn Rutledge2019-08-302-3/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | This is needed after a37785ec7638e7485112b87dd7e767881fecc114 deprecated the versions of QWindowSystemInterface::handleMouseEvent() that were in use here. Change-Id: Ib704ae2be905436f5a4a80ae6686b5fe3972d34c Reviewed-by: Andy Nichols <andy.nichols@qt.io>
| | * Extend QDate's benchmarkEdward Welbourne2019-08-301-5/+165
| | | | | | | | | | | | | | | | | | | | | | | | | | | Test more methods. Document what the existing test covers. Use the right #include for QDate. Change-Id: I051542c244e5bc381aafa3ae38144e246919db7a Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
| | * Convert foreach to ranged for in QDateTime benchmarkEdward Welbourne2019-08-301-34/+34
| | | | | | | | | | | | | | | Change-Id: I05cf7b1916afa94a9f0f9b83af9b4ebe20a04cf0 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
| | * Deduplicate list-building code in QDateTime benchmarkEdward Welbourne2019-08-301-108/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Aside from the start-date and the end-date, and a variant with a time-zone, the lists various tests were building were all built the same way; so pack that up as a pair of functions (one without time-zone, one with) to save duplication. Make the list in each function const, ready for conversion of foreach loops to ranged for. In the process, replace QList with QVector, reserve space before we populate and use auto for the now-const list variables it's saved in. Change-Id: I7d8cce459a4d6111cd645e8d3966ad769ab7e201 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
| | * QDateTimeParser: replace QVector with QVarLengthArray<12>Marc Mutz2019-08-301-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The lists of month and day-of-week names usually currently do not exceed 13 elements (incl. possible leap months), so don't use QVector, use QVarLengthArray with Prealloc = 13. This value may be increased when ISO week-as-month is merged, but the container remains valid even with 52 "months" (though the code that calculates its runtime size will naturally need to be adjusted). Change-Id: I4ead897d933f89fc092850fcc22ca41da0a6ddc6 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| | * Fix unused variable warnings in QDateTime benchmarkEdward Welbourne2019-08-301-5/+15
| | | | | | | | | | | | | | | Change-Id: Id123ace74cfa7b5ff406eabbfda0aad9f58c3fd4 Reviewed-by: David Faure <david.faure@kdab.com>
| | * Fix some bogus date calculations in QDateTime's benchmarkEdward Welbourne2019-08-301-12/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Multiplying a Julian Day number by the number of milliseconds per day does not get you a time since the start of 1970; it gets you a time since the start of the Julian Day number system, which was several millennia earlier. Change-Id: Ic90a6c3de445baf9cfd30f28dd847f146e6a7adf Reviewed-by: David Faure <david.faure@kdab.com>
| | * Pass QDate, QTime as value classes, rather than by const referenceEdward Welbourne2019-08-306-78/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | This can, of course, only be done in private APIs - but comment on public APIs to do the same at Qt 6. Change-Id: I3c79951572be3c37b0b0c5b1b05bced051a40964 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
| | * Optimize QDate by shortcutting some gregorian calendar methodsEdward Welbourne2019-08-303-15/+139
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add some static methods to QGregorianCalendar, some of which serve to implement its methods, that QDate can use to bypass vtables and exploit fixed truths of the Gregorian calendar in its default handling. Change-Id: Iec191cdf4d52945dbd5679e609180cb4fe59b5fd Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
| * | Add support to override Qml Import Scanner binary to androiddeployqtLeander Beernaert2019-08-301-2/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch is required to properly support the CMake port of Qt. With CMake we have to build the host tools separately. When androiddeployqt attempts locate the qmlimportscanner binary it is unable to do so, since its not build. This patch adds the --qml-importscanner-binary option to androiddeployqt and it also allows the optio to be set via the qml-importscanner-binary setting in the deployment configuration file. Change-Id: I5393340bc1bc3e8fedae69f8bc3eb5adfe7dbfd7 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
| * | Remove QMakeLocalFileName::is_nullJoerg Bornemann2019-08-302-7/+7
| | | | | | | | | | | | | | | | | | | | | This is never different from real_name.isNull(). Change-Id: Ic1442f2eec4d7dfb2d3694e85d664f1509d4b68b Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
| * | Merge "Merge remote-tracking branch 'origin/5.14' into dev"Qt Forward Merge Bot2019-08-2926-268/+701
| |\ \
| | * | Merge remote-tracking branch 'origin/5.14' into devQt Forward Merge Bot2019-08-2926-268/+701
| |/| | | | |/ | | | | | | Change-Id: I63a9a4a77ff260d7fc5434d13a5932055a4fb640
| | * Mark QNetworkAccessManager::autoDeleteReplies as constMårten Nordheim2019-08-292-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From the API review. Amends cd816d4b6ac4358a92dbda906288ba6d969fc1cd. Change-Id: I3d3e2ef331501fa498545c5eec0e321544165b0d Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| | * QEventDispatcherWin32: avoid livelock in a foreign event loopAlex Trotsenko2019-08-293-33/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | According to Windows docs, GetMessage() function retrieves the messages from the input queue in defined order, where posted messages are processed ahead of input messages, even if they were posted later. Therefore, if the application produces a posted event permanently, as a result of processing that event, user input messages may be blocked due to hard CPU usage by the application. It's not a problem, if an internal Qt event loop is running. By calling sendPostedEvents() on the beginning of processEvents(), we are sending posted events only once per iteration. However, during execution of the foreign loop, we should artificially lower the priority of the WM_QT_SENDPOSTEDEVENTS message in order to enable delivery of other input messages. To solve the problem, it is proposed to postpone the WM_QT_SENDPOSTEDEVENTS message until the message queue becomes empty, as it works for the internal loop. Task-number: QTBUG-77464 Change-Id: I8dedb6837c6fc41aa6f497e67ab2352c2b4f3772 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| | * rhi: vulkan: Introduce secondary command buffer usageLaszlo Agocs2019-08-2915-173/+491
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As an option. Must opt in via setting ExternalContentsInPass in the flags for beginFrame(). It is somewhat unfortunate to require declaring this up front, but forcing using secondary command buffers always, even though beginExternal() may not be used in many applications, would be an overkill. Change-Id: I8d52bcab40c96f89f140c4c7877b6c459925e3c7 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
| | * rhi: vulkan: Add missing VK_QUERY_RESULT_WAIT_BITLaszlo Agocs2019-08-291-1/+2
| | | | | | | | | | | | | | | | | | | | | Mainly to get the validation layer from newer Vulkan SDKs to shut up. Change-Id: I3a00d2e7b5617eb1656625b1b2a919bb3c07feb9 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
| | * rhi: Attempt to fix up the logic around beginExternal()Laszlo Agocs2019-08-296-67/+102
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Mainly for Vulkan where it lacked the recording of the still queued commands. Uncovered by Qt Quick examples that integrate custom Vulkan rendering. This still has an issue that needs to be tackled separately. (we probably will switch to using a dedicated secondary command buffer with RENDER_PASS_CONTINUE_BIT for the external commands, and then just have a vkCmdExecuteCommands in our own queue instead of recording everything in beginExternal). The possibility of losing glMemoryBarrier() calls due to begin/endExternal() with the OpenGL backend is fixed too. The logic here mirrors Vulkan to some extent except that we do not have a concept of (and so the trouble with) renderpass instances. Clean up around the implementations of finish() as well. Attempting to share code via a "flushCommandBuffer" function is admirable but is not worth it since some semantics are different. (finish() cannot be called within a begin/endPass, unlike begin/endExternal). Change-Id: I5137db598d6a40d484e53678f5c919abf750d9ed Reviewed-by: Andy Nichols <andy.nichols@qt.io>
| | * rhi: vulkan: Expose the VkRenderPass via the usual mechanismsLaszlo Agocs2019-08-295-0/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | Qt Quick in turn will expose it via QSGRendererInterface. Essential when adding custom Vulkan rendering into a Qt Quick application because the custom pipeline state objects will need to reference a VkRenderPass. Change-Id: Idf4092cfc3937830fb8123164081059b0d8d030e Reviewed-by: Andy Nichols <andy.nichols@qt.io>
| | * QTree/TableView: Don't emit clicked when releasing after double clickVolker Hilsheimer2019-08-292-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If an item is double clicked, then without this fix, the views emit the clicked() signal when the mousebutton is released after the double click event. This is unexpected and wrong. QAbstractItemView keeps track of the item the mouse was pressed on, to verify that the release occurred on the same item before emitting clicked, and to make sure we have a valid pressed item before initiating drag'n'drop. By resetting d->pressedItem when a double click has been handled, we can prevent the emission of a clicked signal in the next release event. [ChangeLog][QtWidgets][QTreeView] Don't emit clicked signal after a doubleClicked signal. Fixes: QTBUG-77771 Change-Id: I05988e9e2222157f4216cebc40c22507e8d83b82 Reviewed-by: André de la Rocha <andre.rocha@qt.io> Reviewed-by: Jesus Fernandez <jsfdez@gmail.com>
| | * Android: Use LLVM tools where possibleBogDan Vatra2019-08-292-9/+14
| | | | | | | | | | | | | | | | | | | | | | | | Properly set CROSS_COMPILE qmake variable Fixes: QTBUG-77890 Change-Id: I73e22d0f936d35c373c064d30ea8d92005d79b2c Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
| | * Android: AUX template doesn't require a multi arch buildBogDan Vatra2019-08-291-1/+1
| | | | | | | | | | | | | | | Change-Id: I7b7abe7f016b4b85546986354653fc4ddf320dcc Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
| * | Close popups on windowWillMiniaturize notificationTimur Pocheptsov2019-08-294-10/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We do this on windowDidMove/windowWillClose, but we don't on a 'will miniaturize' notification. This can leave an application with an orphan popup window, such as context menu which looks really weird. I err on a safe side though - I don't close all popups - the application's logic can be such that it has several windows and one of them gets minimized (we can do this via QWidget's interface, for example) - would be strange if all popups close. So I only close popups that have the miniaturized window as a transient parent. Task-number: QTBUG-77833 Change-Id: Ib655a27c0ce8661f9e7156e6035f7fffaff901b1 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| * | Remove nonsensical initialization from QMakeLocalFileNameJoerg Bornemann2019-08-291-6/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The c'tor that takes a QString detects whether the string's first and *last but one* characters are double quotes. In that case it removes the first and *last* characters, resulting in a conversion from "\"C:\\foo\"\\" to "C:\\foo\"". It's highly unlikely that this code path was ever triggered, because its erroneous result would have been noticed. Remove it. Change-Id: I653e6a4667ae3620c35e509420eb22a71bb986a9 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| * | Add QObject allocation benchmarksJędrzej Nowacki2019-08-291-0/+47
| | | | | | | | | | | | | | | | | | | | | | | | The benchmark measures the performance of QObject allocation, including costs of memory allocations. Change-Id: I5d8ecfb97fe0be3375340b5ce84eb423e8a4ddaf Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
| * | Merge "Merge remote-tracking branch 'origin/5.14' into dev"Qt Forward Merge Bot2019-08-2913-168/+205
| |\ \
| | * | Merge remote-tracking branch 'origin/5.14' into devQt Forward Merge Bot2019-08-2913-168/+205
| |/| | | | |/ | | | | | | Change-Id: I536ba1f13c5234487dc6827ad30548f5629fae2c
| | * widgets: Mark widgets as needing flush during paintingTor Arne Vestbø2019-08-282-15/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Except for the case of syncing in response to an expose event, where the platform asked us to flush a specific region, we should strive to only flush parts that have been repainted. And we should flush those parts to their nearest native child, instead of unconditionally flushing the root/top level widget as well. By allowing drawWidget to schedule the flush we automatically flush the minimal region, to the right widgets. Change-Id: I73c143761d4a0da6991433b41dea0a0bc83a448a Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| | * widgets: Add logging for widget paintingTor Arne Vestbø2019-08-284-1/+36
| | | | | | | | | | | | | | | Change-Id: I551ec290812369e3848c1096fed7e813cd9e1cd6 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| | * QGraphicsItem: mark GraphicsItemChange::ItemMatrixChange as deprecatedChristian Ehrlicher2019-08-282-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The enum GraphicsItemChange::ItemMatrixChange is deprecated since Qt4 times. The corresponding matrix functions were also marked as deprecated in 5.13 but the enum was forgotten. Therefore also mark it as deprecated so it can be removed with Qt6. Change-Id: I39bec89af14aaefe2e504f5a890ef314574766a1 Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name>
| | * Android: install qmlfiles only for first ABIBogDan Vatra2019-08-281-3/+14
| | | | | | | | | | | | | | | | | | | | | qmlfiles are the same for all ABIs, and installing them for all leads to race condition Change-Id: I69fe062f59f1d7c028dff5212e2f2fac7e71398d Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
| | * Say hello to -android-abis configure paramBogDan Vatra2019-08-284-8/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This configure parameter is useful to compile Qt only for a selected ABIs. The old parameter, -android-arch, does the same thing, it's kept for compatibility. [ChangeLog][Android] -android-abis configure script parameter useful to compile Qt only for a selected Android ABIs. Change-Id: I1f418c7e0914dd83b98d763e8cd8c09841e20fdf Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
| | * widgets: Simplify QWidgetRepaintManager::flushTor Arne Vestbø2019-08-282-10/+5
| | | | | | | | | | | | | | | Change-Id: Icba88fa068aac2ac5d8bb04e46a3e3f34e279a48 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| | * Use QLatin1String where possibleBogDan Vatra2019-08-281-115/+114
| | | | | | | | | | | | | | | Change-Id: I8f94ba4880bcac735e4445d71f0e22774d9f78eb Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
| | * QReadWriteLock QT_NO_THREAD shell: make API compatible with the regular oneMarc Mutz2019-08-281-14/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - add missing explicit - drop static from member functions that aren't static in the regular version (ie. all functions) As a drive-by, remove redundant inline keyword where it doesn't cause wanton inconsistency with surrounding code. Change-Id: I5aed73c3afa85d98d97b57c2c1874b1a5e664960 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>