summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Allow creating a valid QColorSpace one value at a timeAllan Sandfeld Jensen2020-02-011-8/+20
| | | | | | | | | | | | The change to using setters left a quirk from the previous un-mutable design where you couldn't set values on an invalid color space and create a valid one. This changes that so it works as expected for an imperative API, but is also needed for the declarative QML bindings. Change-Id: I246cfc38b364b156238151c42c1df82a3f1cc9d3 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Add a constructor for QRunnable from anonymous functionsAllan Sandfeld Jensen2020-01-314-0/+66
| | | | | | | | | | This makes it easier to create one without having to create a derivative class. The patch also adds a path to avoid using QRunnable directly in QThreadPool. Change-Id: I9caa7dabb6f641b547d4771c863aa6ab7f01b704 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
* Deprecate QLocale::toTime() variants taking a calendarEdward Welbourne2020-01-312-3/+25
| | | | | | | | | | The calendar is ignored, so adding these methods was a mistake. [ChangeLog][QtCore][QLocale] Deprecated toTime() variants taking a calendar. The calendar is ignored in time parsing. Change-Id: I79fa994ce88f13fdb931163b447eb1a9ad655c09 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Consolidate some Q(Date|Time)+ methods to call calendared versionsEdward Welbourne2020-01-311-59/+24
| | | | | | | | | | | | | | The string-returning methods were in any case delegating to either a local static or QLocale methods that delegate to their calendar variants, so do the default-calendar step early and reduce the number of distinct code-paths, along with the gross number of lines of code. In the process, short-cut past QDate::toString() when we can save its switch and go direct to the toString{Text|Iso}Date() it's calling. Tidy up somewhat in the process. Change-Id: I8ba70b29ef9e8b6553c41310ebb2b63ec5570bb9 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Deprecate locale-related DateFormat enum membersEdward Welbourne2020-01-314-76/+117
| | | | | | | | Qt 6 shall remove all locale-dependence from Q(Date|Time)+. Task-number: QTBUG-80441 Change-Id: Iebaaa2bd776bccfe0d73c15f36cbdd456b71ca59 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Add missing calendar methods to QDateTime and docsEdward Welbourne2020-01-312-16/+48
| | | | | | | | | | | | | We missed a few, so complete the general scheme of accepting an optional calendar, where it would be relevant. [ChangeLog][QtCore][QDateTime] Added some missing QCalendar variants of QDateTime::toString(). Included docs for QCalendar variants in both QDate and QDateTime. Change-Id: Ief7b4dada73d7a4055b75d8b47ff4d2e310ce738 Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Clarify handling of unspecified year in two QCalendar methodsEdward Welbourne2020-01-311-2/+9
| | | | | | | | | | [ChangeLog][QtCore] QCalendar::monthsInYear(QCalendar::Unspecified) now returns maximumMonthsInYear(). QCalendar::daysInYear() now makes clear that its handling of unspecified year is undefined. Change-Id: Ifef8723193868c666f6afeb7f190af4929d30dea Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* rhi: Enable sampler address mode W in the APILaszlo Agocs2020-01-3013-48/+71
| | | | | | | | | | | Internally this is already supported by all backends. The frontend was just not exposing addressW, instead defaulting to the (arbitrarily chosen) ClampToEdge. Add the parameter to newSampler(), but make it optional, defaulting to the more natural Repeat (because that's what one would get with OpenGL for WRAP_R by default) Change-Id: I0b991d8b649db37d4da86ac8e98ab7845601cf67 Reviewed-by: Christian Strømme <christian.stromme@qt.io>
* Deprecate QDateTime(const QDate &) in favor of QDate::startOfDay()Edward Welbourne2020-01-303-9/+14
| | | | | | | | | | | It needed re-implemented in terms of the new API (in case QTime(0, 0) was skipped, on the date in question, by a spring-forwrd), which makes it redundant (and supports choice of spec and zone or offset, which it did not). Change-Id: I1e3c3e794632c234f254be754ed6e4ebdaaaa6bc Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* QNetworkProxy/doc: Remove mention of network configurationMårten Nordheim2020-01-301-6/+1
| | | | | | | | | The support for QNetworkConfiguration was deprecated in 5.10 but the documentation was still alluding to the functionality. Change-Id: I7597388c646196fb4744d7bac4f890ca582c5b75 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Deprecate QImageIOHandler gamma correctionAllan Sandfeld Jensen2020-01-304-0/+12
| | | | | | | | | Don't do gamma correction at image decoding time, it can be a whole lot more than just a simple gamma function, so it is better to use QColorSpace and QColorTransform. Change-Id: Iebc960bad6ecdd878240be965699d2df869572ad Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* QHash: Re-remove Java-style iteratorMårten Nordheim2020-01-301-0/+2
| | | | | | | | | | | When deprecating reverse iteratation for QHash the macro defining QHashIterator was expanded but QT_NO_JAVA_STYLE_ITERATORS was unfortunately forgotten. This patch brings it back. Amends dbb54805f63f9ed68d84fe090d608872f16170d2 Change-Id: I7b1912a13f6f8d2446c1f61a1c4a19afb2f28993 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* QScopeGuard: Make constructor publicKari Oikarinen2020-01-302-23/+55
| | | | | | | | | | | | With Class Template Argument Deduction users might want to use the constructor itself instead of a separate helper function. In both cases it's possible to let the compiler deduce the template arguments. Try to make the usefulness of the helper function in the absence of CTAD still clear in the documentation. Change-Id: I9b07983c1fb276a6dd9e7ed4c3e606764e9b68ca Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
* Implement moving of a single file system entry to the trashVolker Hilsheimer2020-01-305-2/+469
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This implements the operation for Windows, macOS, and Unix, for now only as a private API (since QFileSystemEngine is private). This adds the capability as a testable function; public API to be agreed on and added in a separate commit. The Unix implementation follows the freedesktop.org specification [1] version 1.0. [1] https://specifications.freedesktop.org/trash-spec/trashspec-1.0.html On macOS and Windows, native APIs are used, with each having some limitations: * on macOS, the file in the trash won't have a "put back" option, as we don't use Finder automation, for the reasons provided in the comments * on Windows, we might not be able to use the modern IFileOperation API, e.g. if Qt is built with mingw which doesn't seem to provide the interface definition; the fallback doesn't provide access to the file name in the trash The test case creates files and directories, and moves them to the trash. As part of the cleanup routine, it deletes all file system entries created. If run on Windows without IFileOperations support, this will add a file in the trash for each test run, filling up hard drive space. Task-number: QTBUG-47703 Change-Id: I5f5f4e578be2f45d7da84f70a03acbe1a12a1231 Reviewed-by: Vitaly Fanaskov <vitaly.fanaskov@qt.io>
* QNetworkAccessManager: deprecate bearer related functionsMårten Nordheim2020-01-3021-77/+99
| | | | | | | | | | | | In Qt6 QNAM will no longer use bearer in any way so we deprecate it now. Also mark bearermanagement-conditioned sections for removal in Qt6, the _q_networksession property is part of how QNAM passes the QNetworkSession around. Task-number: QTBUG-81609 Change-Id: I04aad9dd96482c6822dffba1b9af7aa58961149c Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Implement/fix session resumption with TLS 1.3Timur Pocheptsov2020-01-298-7/+130
| | | | | | | | | | | | | | | The session we cache at the end of a handshake is non-resumable in TLS 1.3, since NewSessionTicket message appears quite some time after the handshake was complete. OpenSSL has a callback where we can finally obtain a resumable session and inform an application about session ticket updated by emitting a signal. Truism: OpenSSL-only. [ChangeLog][QtNetwork] A new signal introduced to report when a valid session ticket received (TLS 1.3) Fixes: QTBUG-81591 Change-Id: I4d22fad5cc082e431577e20ddbda2835e864b511 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Remove some usage of deprecated QSslCertificate::fromPathMårten Nordheim2020-01-293-2/+10
| | | | | | | | | | | The changed function was added in September 2019 in 5.15 branch before the new overload was added and the old one was deprecated, so we can freely change it. Amends 1068d579ee848edf08db5ac611b292c76c30a39b Change-Id: Iff9d72c26ce557c28b188e1754daa03fd061d531 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Merge "Merge remote-tracking branch 'origin/5.14' into 5.15"Qt Forward Merge Bot2020-01-2911-27/+125
|\
| * Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-01-2911-27/+125
| |\ | | | | | | | | | Change-Id: I98b1a5a11ece3957a1115c1d9be8841759206ffe
| | * Doc: Fix copy-paste error in QOpenGLTexture::Target docsLeena Miettinen2020-01-281-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | Add a link to https://www.khronos.org/opengl/wiki/Array_Texture. Fixes: QTBUG-49802 Change-Id: Ic740dd758c41a8f3e471a503bd2d02f6d3096f50 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
| | * Merge remote-tracking branch 'origin/5.14.1' into 5.14Liang Qi2020-01-2810-26/+122
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/features/create_cmake.prf Done-With: Artem Pisarenko <artem.k.pisarenko@gmail.com> Change-Id: I2ecb9fdca06fe687be8ab3457a58dd81e5e81c4c
| | | * Release the local ref immediatelyBogDan Vatra2020-01-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The local refs are released by the JVM when we exit the function, but if we need tons of local refs, JVM will not be happy. Fixes: QTBUG-81077 Change-Id: Ic38a5be1a563cb9c2465f9f902ff6ae6c61e698b Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
| | | * Windows QPA: Prospective fix for crash occurring when changing screen during ↵Friedemann Kleint2020-01-221-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | session lock Check on currentScreen in QWindowsWindow::checkForScreenChanged(). Fixes: QTBUG-80436 Change-Id: I19e34b9e2c32c9cfc8e5e5b758783c0ab89d5556 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
| | | * Fix CVE-2019-19880 in SQLiteAndy Shaw2020-01-222-0/+32
| | | | | | | | | | | | | | | | | | | | | | | | Fixes: QTBUG-81565 Change-Id: I6bf2364e696315e5262d1abfa2f0b6947f14a33b Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
| | | * Revert "Do not read Xft.dpi on platforms that shouldn't be using Xft settings"David Edmundson2020-01-201-11/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit c7fec68e1936576070d0fbac6cf40b818366d298. This commit introduces a behavioural change within 5.14. It's designed to special case plasma with a fix, but in practice it will cause us more problems. It will break: - font size on plasmashell and kwin on xcb which do not use Qt scaling - xwayland on projectors/headless tests The original bug of double scaling that this was trying to fix is fixed by b31852c4caa36cc564e25adbdacfa534e1dfe7c0 which is in 5.14.1 which works in combination with the environment variables we set in plasma so this is not needed. Fixes: QTBUG-81532 Change-Id: I2f1b8ae4aecf7b80be4dbee812e6b4a64244fb1f Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| | | * Doc: QPluginLoader: remove the claim we search the current dirThiago Macieira2020-01-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit bf131e8d2181b3404f5293546ed390999f760404 removed it and it's a good thing. Change-Id: Idc3fae4d0f614c389d27fffd15ea245420035e66 Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
| | | * Android: Respect the --no-build option for APK packagesAndy Shaw2020-01-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Fixes: QTBUG-80884 Change-Id: I90bc3100aeb85089256ce414434c98753e02c79c Reviewed-by: BogDan Vatra <bogdan@kdab.com>
| | | * QLibrary/Unix: do not attempt to load a library relative to $PWDThiago Macieira2020-01-181-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I added the code in commit 5219c37f7c98f37f078fee00fe8ca35d83ff4f5d to find libraries in a haswell/ subdir of the main path, but we only need to do that transformation if the library is contains at least one directory seprator. That is, if the user asks to load "lib/foo", then we should try "lib/haswell/foo" (often, the path prefix will be absolute). When the library name the user requested has no directory separators, we let dlopen() do the transformation for us. Testing on Linux confirms glibc does so: $ LD_DEBUG=libs /lib64/ld-linux-x86-64.so.2 --inhibit-cache ./qml -help |& grep Xcursor 1972475: find library=libXcursor.so.1 [0]; searching 1972475: trying file=/usr/lib64/haswell/avx512_1/libXcursor.so.1 1972475: trying file=/usr/lib64/haswell/libXcursor.so.1 1972475: trying file=/usr/lib64/libXcursor.so.1 1972475: calling init: /usr/lib64/libXcursor.so.1 1972475: calling fini: /usr/lib64/libXcursor.so.1 [0] Fixes: QTBUG-81272 Change-Id: I596aec77785a4e4e84d5fffd15e89689bb91ffbb Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | | * Merge 5.14 into 5.14.1Kari Oikarinen2020-01-1561-562/+710
| | | |\ | | | | | | | | | | | | | | | Change-Id: Ie90edfd16f48e1907fd18288473ac403f62b9032
| | | * | QSequentialIterableImpl: support appendFabian Kosmale2020-01-151-8/+80
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-80916 Change-Id: I87e74da0ce454e56b5fe94d9db3693a587d35edf Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
| | | * | Restore QHighDPIScaling::isActive() 5.13 behaviorMorten Johan Sørvig2020-01-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In 5.13, isActive() would become true only if there was a scale factor >1 present. This was accidentally changed in 5.14, where isActive() becomes true whenever e.g. AA_EneableHighDpiScaling is set, no matter the actual scale factor values. Change-Id: Iacbe2010cddbc3b9015ac24004ae2fe417d4f434 Fixes: QTBUG-80967 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | | | | QPushButton: only trigger button when click occurs within the bevel rectVolker Hilsheimer2020-01-286-3/+37
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On the mac, the push button's bevel doesn't cover the entire widget rectangle, but is smaller to leave space for focus frame, shadow, and in general to meet style guidelines. Without this change, a click anywhere inside the widget would activate the button. QAbstractButton::hitButton can be reimplemented to limit the area in which the button is triggered. However, getting the rectangle also requires an addition to QStyle, so that we can query QStyle::subElementRect for the actual area the button's bevel covers. As a side effect, tests that use QPushButton and assume that it responds to clicks at position 0,0 have to be fixed so that they don't fail on mac. Change-Id: I01b60a763bccf39090aee5b2369af300f922d226 Fixes: QTBUG-81452 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | | | Add QWindow::startSystemMove and startSystemResizeJohan Klokkhammer Helsing2020-01-2813-82/+199
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This can be used to create custom client side window decorations. Refactors the xcb implementation to use edges instead of corners and we now use the last mouse position for `root_x` and `root_y` in the `_NET_WM_MOVERESIZE` event. Touch has also been changed, so just pick a point that's currently being pressed. The workaround for QTBUG-69716 has now been moved to QSizeGrip, as the comment in the bug report says that it should ideally be fixed at the widget level. On Windows, we no longer abort when GetSystemMenu returns false. I assume this code was added to check whether the window didn't have any decorations and not resize in that case. However, since the point of this patch is to let windows without native decorations resize/move, it makes most sense to remove the check. Adds a manual test, which calls QWindow::startSystemMove and startSystemResize on touch and mouse events. [ChangeLog][QtGui] Added API for starting interactive window resize and move operations handled by the system. Fixes: QTBUG-73011 Change-Id: I7e47a0b2cff182af71d3d479d6e3746f08ea30aa Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | | | Merge "Merge remote-tracking branch 'origin/5.14' into 5.15"Qt Forward Merge Bot2020-01-2826-83/+297
|\ \ \ \
| * | | | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-01-2826-83/+297
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/image/qpnghandler.cpp Change-Id: I8630f363457bb613d8fb88470a71d95d97cdb301
| | * | | Doc: Update the stylesheet reference for widgets and richtextVenugopal Shivashankar2020-01-272-1/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add the Qt-specific properites to the list. Fixes: QTBUG-37938 Change-Id: I178de6cd5e17cd282a20ccee9ce8355f540c38a1 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | * | | QScrollArea: fix off-by-one error in ensureWidgetVisibleIndiana Kernick2020-01-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If focusRect was 5 pixels past the right side of the viewport, then the scroll area would need to be scrolled by 5 pixels. The error arises because of this: focusRect.right() - d->viewport->width() == 4 focusRect.right() is still inside the rectangle but width is not. So one has to be added. Likewise for focusRect.bottom() and height. Change-Id: Ice47a7758d136b2e4bdcbe25a33a015b37f500c1 Fixes: QTBUG-80093 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
| | * | | Make sure the focus is passed on correctly when back-tabbingAndy Shaw2020-01-251-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the tested widget has a focus proxy, then we should check if the current focus widget is not the same as that focus proxy before setting it to be the widget that gets focus. This ensures that when back-tabbing from a widget like QDoubleSpinBox that it will not get stuck inside that widget and will back-tab to the next correct one. Fixes: QTBUG-81097 Change-Id: I3f689c7715da7f3ce8c3d2f616041528f5778a2f Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| | * | | Android: JNI_OnLoad return JNI_VERSION_1_6 instead of JNI_VERSION_1_4Assam Boudjelthia2020-01-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update instance of old code using JNI_VERSION_1_4 to make the code consistent. Change-Id: I779696738caa3b844f4adf33104b4328dba748a5 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| | * | | Prepare callers for QChar-to-QString change in some QLocale returnsEdward Welbourne2020-01-231-19/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The assorted characters making up numbers can potentially need surrogate pairs for their encoding, so Qt6 shall make the methods returning them return QString instead of QChar. Prepare callers of these methods to cope when that happens. This follows up on commit f91af791cc3be1dfb9645ed4ebba10a7d9f74134, which announced the intent to change the return type. Task-number: QTBUG-81053 Change-Id: I99896c1d4fc2e24758c6486eaca32fd915b9a673 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * | | updateSystemPrivate(): fix handling of empty string as non-null QVariantEdward Welbourne2020-01-231-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QSystemLocale::query() can return an empty string for PositiveSign on Windows, apparently. In any case, we shouldn't be taking .at(0) of a QString without checking it's non-empty. Fixes: QTBUG-81530 Change-Id: I4d496a2650362f225d02998bd7b8be9fd783edb4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| | * | | QXmlStreamReader: fix memory leakGiuseppe D'Angelo2020-01-232-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On some inputs a QXmlStreamReaderPrivate may allocate another QXmlStreamReaderPrivate as its entityResolver. Which, recursively, may allocate yet another one. This "chain" of QXmlStreamReaderPrivate objects was managed using raw pointers, and a leak was possible by resetting one of these pointers to nullptr without freeing the corresponding object. Change-Id: I2c6e1f023a2ed68b2b1857db25c53cce7f6bd3e7 Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
| | * | | QXmlStreamReader: early return in case of malformed attributesGiuseppe D'Angelo2020-01-231-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There's no point at keep raising errors after encountering the first malformed attribute. Change-Id: Idb37e577ea96c3bd850b3caf008fe3ecd57dd32e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * | | Allow benign errors when writing PNGsAllan Sandfeld Jensen2020-01-231-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise we can end up not writing anything due to recoverable libpng error reports. Change-Id: I4d4db42305482babffbe2bcf25535a35b51502a9 Fixes: QTBUG-81604 Reviewed-by: Boudewijn Rempt <boud@valdyas.org> Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
| | * | | Fix QLocale::system() and uiLanguages() for the mobile platformsAndy Shaw2020-01-222-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On iOS, it was no longer using the Cocoa specific code needed to get the locale and uiLanguages information so this functionality is brought back as it was accidently lost. In addition, this has a side-effect of fixing a problem with Android versions below API 24 where it has no UiLanguages functionality so it gets the information based on the system locale as a fallback. Fixes: QTBUG-81307 Fixes: QTBUG-81357 Change-Id: I1709675b5bd5e9cedefb99eaec28279f20a347a4 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| | * | | macOS: Work around CoreFoundation failing to resolve bundle resourcesTor Arne Vestbø2020-01-221-2/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a framework is loaded from a Samba share CoreFoundation will fail to resolve its Resources directory, and hence its Info.plist, which means we can't look up the bundle by id. Until this has been fixed in CoreFoundation and/or the macOS Samba implementation we work around it by manually looking for QtCore. This fixes our particular use-case of finding QtCore so we can resolve the relocatable prefix, but there's still a potential issue if any other code tries to use CF for bundle lookups. We don't seem to have any of those in Qt itself, but this should be kept in mind if we see similar issues in the future. Change-Id: I8fd471e44f6afe33a7459ce550f0fcec9acfefb4 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| | * | | macOS: Remove doc references to the Carbon frameworkTor Arne Vestbø2020-01-222-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I4d496acfc3d810d6334baba99cd697168bef0b75 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| | * | | wasm: fix redundant string conversions between wasm and JavaScriptAlexandra Cherdantseva2020-01-229-34/+150
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Avoid redundant conversions from UTF16 to UTF8 to UTF16 with help of new class QWasmString static methods: + QWasmString::fromQString to convert QString to js string using js Module.UTF16ToString + QWasmString::toQString to convert js string to QString using js Module.stringToUTF16 Fixed document.getElementById calls for cavasId with unicode characters. Change-Id: I3fc55bfeb6aeda75fa3acd85d22cea667b542f38 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
| | * | | Doc: Add the line-height CSS property to the listVenugopal Shivashankar2020-01-211-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Apparently, it is one of the text CSS properties that Qt supports. Fixes: QTBUG-34053 Task-number: QTBUG-34053 Change-Id: I3076ab2f51f1519f41610b1e81dfecbb8dbc0256 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
| | * | | Doc: Fix QSql*Model snippetsSze Howe Koh2020-01-193-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - QSqlQueryModel docs contained a snippet about QSqlTableModel. - Snippet #25 was about QSqlTableModel, but it was previously unused. - This patch ensures that snippet code matches the corresponding text descriptions. Change-Id: I2a5ffbe0978ef9b8d0b027db59647b824e52d214 Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch>