summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Doc: Clarify that BC does not apply to Qt TestPaul Wicking2018-10-161-0/+5
| | | | | | | Task-number: QTBUG-17531 Change-Id: I59c02f456a16a48391247fdf7010358ad013c0ac Reviewed-by: Topi Reiniö <topi.reinio@qt.io> Reviewed-by: Liang Qi <liang.qi@qt.io>
* Update bundled sqlite to 3.25.2Andy Shaw2018-10-163-7100/+14541
| | | | | | | [ChangeLog][Third-Party Code] Sqlite was updated to version 3.25.2 Change-Id: I2d74ee924745a5e1edd6fe511777965313a4b77a Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Windows QPA: Add WM_INPUT to the list of input messages for event filteringFriedemann Kleint2018-10-161-0/+1
| | | | | | | | Amends a0a22037cdacbf51a2db560ff902a5a341561b15. Task-number: QTBUG-67095 Change-Id: I32d2e78f9d9525d56c1d4477d69cf7b9d7f8e7a3 Reviewed-by: Miguel Costa <miguel.costa@qt.io>
* Fix build failed with ANGLEMiguel Costa2018-10-163-1/+3
| | | | | | | | | | | | | Added eglext_angle.h and gl2ext_angle.h to the list of header files copied to include/QtANGLE during install. These two header files were introduced by the recent ANGLE update but were not added to the install. This was causing build failures when including the ANGLE headers (e.g. in qtmultimedia). Task-number: QTBUG-71158 Change-Id: If2f1a9ecfcdf509cccf2b3671adf575cc39892d4 Reviewed-by: Andre de la Rocha <andre.rocha@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* xcb: cleanup WM_HINTS handlingGatis Paeglis2018-10-151-23/+13
| | | | | | | | | | | | | | | - The only place where window flag Qt::WindowDoesNotAcceptFocus changes is inside QXcbWindow::setWindowFlags and from there we call updateDoesNotAcceptFocus(). The current code was redundantly calling xcb_wm_hints_set_input in various places. - Similar as above: call xcb_wm_hints_set_normal/iconic only where it can change. This hint depends on window state, so update it only from setWindowState(). Removed unnecessary call to setTransparentForMouseEvents(), which is already called few lines above from setWindowFlags(). Change-Id: I8da919b135a4dfda0c8c1dad51d85d3e706153ab Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* xcb: utilize thread-safety of QAbstractEventDispatcher::wakeUpGatis Paeglis2018-10-153-14/+22
| | | | | | | | | | | | | | | | | | | | | | | | | QAbstractEventDispatcher::wakeUp is a thread-safe method, using a queued connection to invoke it is wasteful. This type of connection involves allocating temporary QMetaCallEvent on a heap and locking of destination thread's post-event queue. In most use cases this is ok, and really convenient when target method is not thread-safe. But in this case the existing solution was suboptimal, especially because the events we are reading can be high frequency. The solution that we use here is lock-free. There can be only one time when it might need to wait for the lock, which is upon exiting the application. If we have entered the critical section in QXcbEventReader::run(), then the registered post routine (qAddPostRoutine) will block the QCoreApplication's dtor (this is where dispatcher is set to 0) until we exit the critical section. We also know when not to enter the critical section, in case dtor is already running. With this approach we might need to compete for the lock at most once, instead of whole application lifetime, which was the case with the existing code. Change-Id: If6737329c972347b0050d67658e28dbaa6f552e8 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* xcb: call processXcbEvents() on every event loop iterationGatis Paeglis2018-10-157-11/+289
| | | | | | | | | | | | | | | | | | It is necessary for QTBUG-69687. The original code processes the xcb event queue only when new events have arrived, but if we want to do an event filtering that buffers some events and processes them later based on set/unset flags (e.g. QEventLoop::ExcludeUserInputEvents), we need to call processXcbEvents() on every event loop iteration, not only when new events have arrived from X server. The required functionality is implemented by having custom event dispatchers, instead of using the generic ones from QtGenericUnixDispatcher:: createUnixEventDispatcher() / eventdispatcher_support-private. This also enables for further customizations, as might be necessary by QTBUG-70095. Task-number: QTBUG-69687 Change-Id: I1f8b2400d26cccf17279d57bb4b678e40c615f33 Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* Fix typo vice versaCristian Maureira-Fredes2018-10-152-3/+3
| | | | | Change-Id: I639d6f9d2019998d91b52506afa2cbd861a0dbe4 Reviewed-by: Gabriel de Dietrich (DO NOT ADD TO REVIEWS) <gabriel.dedietrich@gmail.com>
* Doc: Move literal code block to a separate fileCristian Maureira-Fredes2018-10-15114-1647/+3627
| | | | | | | | | | | We need to override this snippet for the documentation we generate for Qt for Python, and it is easier to have it on a separate file. Task-number: PYSIDE-801 Task-number: PYSIDE-691 Change-Id: Ideb5b6af25024279f167137d3b65660bb9c96a7e Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* QToolTip: Don't crash if a tool tip is shown outside screen geometryJohan Klokkhammer Helsing2018-10-152-6/+18
| | | | | | | | | | | | | | | | | | | | | | | | | In some cases, a tool tip may be shown outside screen geometry, i.e. if: - QToolTip::showText is invoked manually with a position outside. - In tst_QToolTip::setPalette if there is no screen at (0, 0). This might happen in a multi-monitor setups where one screen is taller than the other. - On Wayland windows are (by design) not allowed to know their position on the screen. This means that global positions can't be trusted. This started crashing when QDesktopWidget::screenGeometry(pos) was replaced with QGuiApplication::screenAt(pos)->geometry() because screenAt will return null if no screen is found, while screenGeometry defaulted to the primary screen. This reverts to the old behavior of falling back to the primary screen. This won't solve the issue completely for the Wayland case, but at least we will stop crashing. Change-Id: I42dd07cc21c2f9f0ea0d69f0c25bd46d8a2615a0 Reviewed-by: Filipe Azevedo <filipe.azevedo@kdab.com> Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Improve support for QImages in QDataStream read transactionsEirik Aavitsland2018-10-152-18/+27
| | | | | | | | | | | | | | | | | | | | | | | QImage's operator>>(QDataStream&) did not set an error mode on the stream on read failures. That would break QDataStream transactions. Since the current QImage serialization cannot differentiate between truncated and corrupted data, we set the ReadPastEnd error as expected by the transaction system. Also specify the expected file format on decoding QImage from stream, to avoid all the format handlers' canRead() being invoked. This is necessary since some of them may call ungetChar(), which fails when the stream is in a transaction. Also add testing of this feature to the QDataStram transaction autotest. That required a slight rewrite of the fake sequential QIODevice subclass. The previous implementation had incorrect behavior of peek(), which is required by QImage decoders. Task-number: QTBUG-70875 Change-Id: If3f1ca7186ad1e6ca0e6e8ea81d2b2fbece6ea01 Reviewed-by: Alex Trotsenko <alex1973tr@gmail.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix docs for QStandardPaths::DesktopLocationAndre Hartmann2018-10-151-1/+2
| | | | | | | Was broken by 1afe110b8fe6da51ec23736fa3a105013255f904 Change-Id: I63e000c663d227f8527ad5162c7662c5c011cf72 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix attributions for wasm fontsKai Koehne2018-10-153-9/+209
| | | | | Change-Id: I83251f49f62f502ac2cc21048e9d4e079cee5e99 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Automatically pick up dependencies.json file for qmlplugindumpKai Koehne2018-10-151-0/+8
| | | | | | | | | | | The dependencies.json file allows to tweak the list of imports the module is depending on, so that types implicitly imported are not listed twice. Task-number: QTBUG-70264 Change-Id: I7a3800e5ea713a8aaae0cddbf4e1607f92c41497 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* qmake: Add support for CONFIG += c++17Kai Koehne2018-10-152-0/+3
| | | | | | | | | | | The correct name is c++1z. Anyhow, this is easy enough to get wrong, so make sure CONFIG += c++17 works as well. Task-number: QTBUG-67527 Change-Id: Iea26b18824b38b1b5170f85987cf5c750b8e10ab Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: André Hartmann <aha_1980@gmx.de>
* wasm: fix wasm shader compileLorn Potter2018-10-152-2/+20
| | | | | | | | This fixes qopenglwindow shader in the triangle Task-number: QTBUG-67338 Change-Id: I8552183bf9ca45e9b56760b340d014ddd34c21f4 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* QImageReader: add tracepoints for image loadingGiuseppe D'Angelo2018-10-142-1/+16
| | | | | Change-Id: I5fe25793eeda01a4fa1658091890af23f66b7089 Reviewed-by: Rafael Roquetto <rafael@roquetto.com>
* Fix launching with depth 30 XOrgAllan Sandfeld Jensen2018-10-142-7/+40
| | | | | | | | Our fallback logic for inexact matches was not very good at accepting better suggestions. Change-Id: I40fb78bf583171105725156148e4a2245fb81354 Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* QImageWriter/QPNGHandler: Quality option should be CompressionRatioAlexandra Cherdantseva2018-10-143-19/+33
| | | | | | | | | | | Wrong option was used to set zlib compression level for png setCompression with negative value uses default compression setCompression with value between 0-100 converts to zlib compression level 0-9 setCompression with positive value overrides Quality option Change-Id: Ic4b048a1e30d6940019c2a00a6c24d0c11e3f821 Reviewed-by: Alexandra Cherdantseva <neluhus.vagus@gmail.com> Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* xcb: localize handling of Qt::AA_Compress* flagsGatis Paeglis2018-10-141-2/+4
| | | | | | | Handle both of them inside the QXcbConnection::compressEvent(). Change-Id: Ibe7184ba5c5b636013145e887c817dca701345ad Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* xcb: lock-free event processingGatis Paeglis2018-10-1412-359/+589
| | | | | | | | | | | | | | | | | For details how this works refer to the documentation in the patch. The follow-up patches will switch to calling processXcbEvents() on every event loop iteration. With the existing code that would mean frequent locking of shared data (event queue). Acquiring a lock is fast, but lock contention isn't. To avoid potential problems, reimplement xcb event processing to be lock-free. Besides theoretical performance benefits, this definitally improves code readability in qxcbconnection.cpp. Thanks to Mikhail Svetkin for questioning the design of the existing code. Done-with: Mikhail Svetkin <mikhail.svetkin@qt.io> Change-Id: I935f2b6ca802580f5c80205aef7b2f9afc172d26 Reviewed-by: Mikhail Svetkin <mikhail.svetkin@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Revert "XCB: Do not create instance of QPlatformIntegration for invalid ↵Gatis Paeglis2018-10-145-73/+41
| | | | | | | | | | | | | | | displays" This reverts commit 67cc8fea106c35c7ca75bf476667d07b3bbf3257. I forgot about this patch and now it makes rebasing the local changes too time-consuming. Besides, 67cc8fea10 broke a build for -no-xcb-xlib. I will restore this patch, with adaptations to the new QXcb*Connection hierarchy. Task-number: QTBUG-68859 Change-Id: I938f32b5da22ce18f95d761f9b34e77fff923e24 Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* glib dispatcher: rework userEventSourcePrepare() event sourceGatis Paeglis2018-10-143-7/+6
| | | | | | | | | | | | | | | | | | | | | | | This is a better solution for fbb485d4f6985643b27da3cc6c5b5f960c32e74d. The existing solution was working fine, but it was exposing logic that is internal to QWindowSystemInterface and platform plugin interaction. Some platform plugins do event filtering at native event level - those that support QAbstractEventDispatcher::filterNativeEvent(). Other plugins rely on QWindowSystemInterface to do the filtering. Dispatchers should not care about this. The new logic rely on the fact that QWindowSystemInterfacePrivate::handleWindowSystemEvent calls QAbstractEventDispatcher::wakeUp(). The same way postEventSourcePrepare() rely on QCoreApplication::postEvent() to call QAbstractEventDispatcher::wakeUp(). Event sources run in the order they are attached, postEventSourcePrepare runs before userEventSourcePrepare(). We rely on that order to pass wakeUpCalled value. Change-Id: I0327f4f2398fd863fb2421b8033bb1df8d65f5af Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* qt_mac_createRolePalettes: fix the highlight color for ItemViewPalette roleTimur Pocheptsov2018-10-141-1/+1
| | | | | | | | | While this requires from us calling a deprecated method, a (non-deprecated) method we were using gives a wrong color which is too bright/saturated. Task-number: QTBUG-70676 Change-Id: Icebeb53e351caa646c533595ca1a886e5eb6b5b8 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Update ANGLE to chromium/3280Miguel Costa2018-10-13816-76195/+165613
| | | | | Change-Id: I0802c0d7486f772d361f87a544d6c5af937f4ca1 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* qnsview_keys - fix a typoTimur Pocheptsov2018-10-131-1/+1
| | | | | | | | | that resulted in 'Cmd' reported as combo of Qt::Meta/Qt::Control and Qt::KeypadModifier. Task-number: QTBUG-71006 Change-Id: I3dddc56f4d404a1ceefb21d57ac120b6273456ec Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* QCss: properly parse functions which contains additional spacesChristian Ehrlicher2018-10-122-1/+9
| | | | | | | | | | | | When there were additional spaces between the function definition and the first parameter, the parser failed to parse it when it contained another function (e.g. 'qlineargradient(... rgb() ...)'). The reason for this was that ::until() needs the function at index-1 so it can correctly count the opening parenthesis. Fixes: QTBUG-61795 Change-Id: I992f556e7f8cd45550f83bc90aa8de2b4e905574 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* qmake: fix the precedence of QMAKE_LIBDIR_POSTv5.12.0-beta2Oswald Buddenhagen2018-10-123-12/+30
| | | | | | | | | | | it must end up in front of QMAKE_LIBS{,_PRIVATE}, but not of LIBS{,_PRIVATE} (which are preceded by QMAKE_LIBDIR). Task-number: QTBUG-61982 Started-by: Liang Qi <liang.qi@qt.io> Change-Id: Id3de01ee0e9b66af02f79949aeb5a0eabd55363f Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* qmake: document {,QMAKE_}LIBS_PRIVATEOswald Buddenhagen2018-10-121-0/+23
| | | | | | Change-Id: I6637d5f57d372f63b3cfaeb28c7e48c940887db6 Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Android: fix compile with NDK r18+BogDan Vatra2018-10-121-1/+5
| | | | | | | | | | | | In NDK r18, libc++.so was renamed to libc++.so.XX where XX is the Android API level. [ChangeLog][Android] Fixed build issue with NDK r18+. Task-number: QTBUG-70631 Change-Id: Id0d2955648197e3054e3c69263b5a90d57964f6c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Liang Qi <liang.qi@qt.io>
* qmake: make sure QMAKE_LIBS{,_PRIVATE} comes after LIBS{,_PRIVATE}Oswald Buddenhagen2018-10-129-25/+42
| | | | | | | | | | the early merging of LIBS* into QMAKE_LIBS* meant that we could not interleave them properly. defer the merging until the points of use. Task-number: QTBUG-70779 Started-by: BogDan Vatra <bogdan@kdab.com> Change-Id: I890f98016c3721396a1f0f6f149a9e2b37d56d8e Reviewed-by: Liang Qi <liang.qi@qt.io>
* qmake: nuke QMAKE_INTERNAL_PRL_LIBSOswald Buddenhagen2018-10-123-14/+3
| | | | | | | | | | | | it's unused now, and just complicates matters. its interaction with LIBS_PRIVATE & co. has always been a bit shaky. google produces no public hits outside qt itself, so let's assume it really remained internal. Change-Id: I6606bbabd44f1b76d84e97219e155e38d6f1b3a6 Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: BogDan Vatra <bogdan@kdab.com> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* qmake: remove support for static archive splittingOswald Buddenhagen2018-10-122-74/+14
| | | | | | | | | | this was introduced in 2002 supposedly for qnx4, but doesn't appear to have actually been used ever. remove it, as it's in the way now. Change-Id: I54dcabb61e1d3609a1e7a9fa4ff4b25509cfdb7a Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: BogDan Vatra <bogdan@kdab.com> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* WinRT QPA: Fix crash in QWinRTBackingStore::flush()Andre de la Rocha2018-10-121-1/+4
| | | | | | | | | | | | | QWinRTBackingStore::flush() was not considering the possibility that the supplied region may fall partially outside the bounds of the paint device. This resulted in possible accesses to invalid memory addresses, causing a crash. This bug was exposed by an update in ANGLE that was causing a crash when running tst_QTableView::bigMode with a small screen size. With this fix the function will use the intersection of the supplied region with the paint device bounds. Change-Id: I2f0f0f7f5510688bfa1459320a0c146df6be65d1 Reviewed-by: Miguel Costa <miguel.costa@qt.io>
* windows: Disable shader disk cache for all Intel GPUsLaszlo Agocs2018-10-121-2/+1
| | | | | | | | Follow up to dff9bb2f9b981e263d8d3d5b1ef67054297e731c Task-number: QTBUG-64697 Change-Id: I73a114dd3c75f3ed1272fa73dad378ecfdc0db09 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* qmake: Fix building with lld with mingw makefilesMartin Storsjö2018-10-121-15/+17
| | | | | | | | | | | lld for coff/mingw doesn't support linker scripts, which qmake used for passing larger numbers of input file names to the linker. Instead of using a fullblown linker script for this, just use a plain response file, which both lld and binutils ld support. Change-Id: I3aace7902fa6ca861a0a9fe67feaa236e7ea417b Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Report compiler and version in configure overviewAllan Sandfeld Jensen2018-10-121-0/+30
| | | | | | | | | It is not always easy to spot the compiler version in the build or configure log, so report it explicitly to make our lives easier when trying to figure out why a specific build might have failed. Change-Id: I1c84199aad4a98a30b0b4c4fbf2554008dc3ba2d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Revert "glib dispatcher: ensure all window system events are flushed"Gatis Paeglis2018-10-122-2/+57
| | | | | | | | | | | | | | | | | | | This reverts commit 341bfcd1eaa9116c143e3b7d3219ef04c7b8a0cb. As it turns out there might be use cases where we want to have proper windowing system event integration with glib dispatcher via g_source_attach(). For example with gtk_dialog_run, where GTK blocks in a recursive main loop. We want to continue dispatcing our windowing system events during this nested event loop. Not having a proper glib integration can result in rendering issues, e.g. when resizing parent window via mouse while GTK-based dialog is shown. Can be seen on examples/widgets/richtext/textedit/ -> Format (from menu) -> "Color..." The issue from 341bfcd1eaa actually should be fixed inside XCB platform plugin, by improving integration with event dispatcher. That is handled in follow-up patches. Change-Id: Icabc6d841a554aefbdd460765a3165d22e65f651 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* xcb: remove runtime check for xcb_poll_for_queued_eventGatis Paeglis2018-10-123-56/+7
| | | | | | | | | | | | | | | xcb_poll_for_queued_event() was introduced in libxcb 1.8. The minimal required libxcb version was bumped up to 1.9 in 1f5d791708d5d256a76872f254251dac66e82cdb. Before this version bump we needed the runtime check to support older versions of libxcb. Updated connections in the event reader to use the new signal and slot syntax. Removed threadedEventHandling() method because now it is always 'true'. Change-Id: I0bce61fd478a871d35e676239ee5280c4f40be8a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QPixmap: use rvalue moreAnton Kudryavtsev2018-10-101-3/+2
| | | | | Change-Id: Ifb8c014abf6e02dc782fab2d653e4edfc4972125 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Add missing null checks after detachAllan Sandfeld Jensen2018-10-101-2/+14
| | | | | | | | | A few places we didn't check if detach() succeeded including in reinterpretAsFormat(), where it can be undone. Task-number: QTBUG-70785 Change-Id: Ibcc8e26e2961f6288eb7a045ae1cb28e59213a49 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* configure: Treat win32-clang-g++ the same as win32-g++Martin Storsjö2018-10-101-1/+1
| | | | | | | This fixes configure with win32-clang-g++ as the native compiler. Change-Id: Iced43d70b9a0aa413d1f5f6034b42b976cb7c39e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* wasm: rewrite QNetworkReplyWasmImpl to remove EM_ASMLorn Potter2018-10-093-215/+184
| | | | | | | | | and fix handling of incoming binary data Change-Id: I31e97505ad4ff64cf8e380df5d0d6b70c3cd60b0 Reviewed-by: Ryan Chu <ryan.chu@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Add NEON optimized ARGB32 unpremultiply routinesAllan Sandfeld Jensen2018-10-093-27/+158
| | | | | | | | Mirroring similar routines recently added for SSE4.1 Change-Id: Ibb9d10cc34655ce1dc0e97fdff4e4f6a81d47d05 Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io> Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Fix builds without DTLSAllan Sandfeld Jensen2018-10-092-7/+3
| | | | | | | Change-Id: Ic7215c7aa0bf6f7b37ae34649d809f2e1e1ee95b Reviewed-by: Jesus Fernandez <Jesus.Fernandez@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* doc: Document version of bundled Freetype in qt_attributionEskil Abrahamsen Blomfeldt2018-10-091-0/+2
| | | | | | Task-number: QTBUG-70901 Change-Id: Ibc330320cf3851e9aed13a66a3552bd8b2ad34da Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* wasm: fix parse errorLorn Potter2018-10-081-1/+0
| | | | | | Task-number: QTBUG-70952 Change-Id: I8a39de1d16b5301d221be4e9e47cabd4827b71aa Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Fix UB (invalid pointer comparison) in QList, QVector, QVLAMarc Mutz2018-10-083-3/+6
| | | | | | | | | | | | | | | QList, QVector and QVarLengthArray check the validity of iterators passed to member functions using isValidIterator(), which checks that the underlying pointers are in the range [begin, end]. This check is well-defined when the outcome is positive, ie. when the iterator is valid. But if the iterator is not valid, and does not happen to point into [end, begin + capacity], the comparison, which uses normal operator<, invokes UB. Fix by using std::less<T*>, which defines a total ordering. Change-Id: I1e5757789b4b9779f5e3e298e7f2b2dd0b27576c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Update 3rdparty valgrind headers to Valgrind 3.13.0Edward Welbourne2018-10-084-1510/+4203
| | | | | | | | The version we're using is at least seven years old. Let's try staying up to date ... Change-Id: I450a2fc37c22740fe554a81b471bf0fad340498e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Support QCborMap::operator[] taking a string literalEdward Welbourne2018-10-083-5/+16
| | | | | | | | | | | | | | | | | Use a template on the size of the char[], as suggested by Ville Voutilainen. This resolves ambiguity about whether such look-ups should be done via QString or QCborValue (not that it would have made any difference). When we come to add mutating indexing of QCborValue, chained dereferences like map[i][j][k] need to stay in operator[] const throughout, to avoid detaching intermediates to create references into them due to using the mutating operator[] on the earlier dereference's return. So const-qualify the QCborValue operator[] const variants at the same time, to match those of QCborValue itself. Change-Id: Ib1652ae9440fe3767a653afa2856b74040210e07 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>