summaryrefslogtreecommitdiffstats
path: root/src/gui/text
Commit message (Collapse)AuthorAgeFilesLines
* QStaticTextUserData: declare dtor out-of-line and export classMarc Mutz2015-06-032-2/+7
| | | | | | | | | | | | | | De-duplicates vtables and enables RTTI on this class hierarchy. Export, as QOpenGLStaticTextUserData (QtOpenGL) inherits it. Change-Id: I0662870538c35f23baf6bde4594ec8b9055efae7 Reported-by: Volker Krause <volker.krause@kdab.com> Task-number: QTBUG-45582 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* QAbstractTextDocumentLayoutPrivate: declare dtor out-of-line and export classMarc Mutz2015-06-012-1/+6
| | | | | | | | | | | | | | De-duplicates vtables and enables RTTI on this class hierarchy. Export, as QPlainTextDocumentLayoutPrivate (QtWidgets) inherits it. Change-Id: I8aee43b43898a72430d8bc1247ea76c7d4e9031d Reported-by: Volker Krause <volker.krause@kdab.com> Task-number: QTBUG-45582 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* src/gui/text/text.pri: add missing header qabstracttextdocumentlayout_p.hMarc Mutz2015-06-011-0/+1
| | | | | | Change-Id: Ia825ef6d932fbd45ceaf8c54a3207f207fa40994 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Fix users of QTextLayout::additionalFormats to use the new APIMarc Mutz2015-05-304-7/+12
| | | | | | | | | | | | QTextLayout::additionalFormats setters and getters using QList<FormatRange> have been deprecated; port to the QVector versions. Moved op== definition for FormatRange needed in tst_qsyntaxhighlighter.cpp to a friend declaration in FormatRange itself, because MSVC 2008 doesn't find it otherwise. Change-Id: Ibab6589df057f02377d895079b56395859e3401e Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* QTextLayout: replace a use of an inefficient QList with QVectorMarc Mutz2015-05-294-11/+50
| | | | | | | | | | | | | | | | | | | The QTextLayout::FormatRange is larger than void* and thus should not be held in QList. Use a QVector instead. Other parts of Qt already hold FormatRanges in QVectors, so this also makes handling FormatRanges more consistent. To avoid ugly names for the getter which doesn't overload on return type alone), rename the set of function to format (from additionalFormats). [ChangeLog][QtGui][QTextLayout] Added QVector-based alternatives setFormat(), format(), and clearFormat() to setAdditionalFormats(), additionalFormats(), and clearAdditionalFormats(), resp. Change-Id: Ie04a561b43c91c3b2befb3cac2981821f84d5f77 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Q*GlyphCache: de-inline dtor and export vtableMarc Mutz2015-05-263-2/+46
| | | | | | | | | | | | | | | | | | | The destructor is the first virtual method. By not defining it out-of-line, we provoke multiple copies of vtables, not all of which can be merged by the linker. If the linker fails, RTTI such as dynamic_cast and catch-blocks involving the type will not work. Additionally, QFontEngineGlyphCache was not exported, and therefore also not its vtable, making it impossible for users outside of QtGui to get a unique RTTI for the class. Change-Id: Ib265945934216bb609629431eb4c71996d4fd39d Reported-by: Volker Krause <volker.krause@kdab.com> Task-number: QTBUG-45582 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.5' into HEADSimon Hausmann2015-05-043-41/+11
|\ | | | | | | Change-Id: I487a4b7c05687a10c498ac219c31367d4db6fbc0
| * Fix undefined behavior in left-shifting into negativeThiago Macieira2015-05-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | It's undefined behavior to left or right-shift a signed integer such that the sign changes. Since SymbolCsbBit is 31, make sure we use unsigned numbers. Found by ICC qplatformfontdatabase.cpp(614): error #68: integer conversion resulted in a change of sign Change-Id: Idf715b895bac4d56b4afffff13da78d294b1248e Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
| * [QFontDatabase] Get rid of QtFontEncodingKonstantin Ritt2015-05-011-30/+8
| | | | | | | | | | | | | | | | This one has not been unsed for ages (since Qt3?). Change-Id: Iaf514db1b698b34a303f34c150b72db989eb176c Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
| * [QFontDatabase] Drop QtFontDesc's familyIndex memberKonstantin Ritt2015-05-011-4/+1
| | | | | | | | | | | | | | | | Many times set but never used. Change-Id: I297f21d4b9878e5f9559a2dfdb2d3de34107bb7d Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
| * [QFontDatabase] Get rid of some dead codeKonstantin Ritt2015-05-011-3/+0
| | | | | | | | | | | | | | | | | | 1. Checking if `db->count == 0` inside the `for (int x = 0; x < db->count; ++x)` loop makes absolutely no sense; 2. The family gets loaded just a line above (ensurePopulated()). Change-Id: I72dbd42565c4f5a5d9ff8879f10ee0ece7298fa7 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Optimize QFont::resolve(const QFont &other)Konstantin Ritt2015-05-011-4/+2
| | | | | | | | | | | | | | | | | | When resolve_mask is 0, the font inherits just everything, and there is no need in checking for any resolved attributes; the resolved font always inherits dpi, so do not check it either. Change-Id: Ie5d7ced0859d46a9237447e29051a22569480a51 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.5' into devLiang Qi2015-04-228-29/+14
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/statemachine/qstatemachine.cpp src/corelib/statemachine/qstatemachine_p.h src/gui/painting/qdrawhelper.cpp src/plugins/platforms/xcb/qxcbnativeinterface.cpp src/plugins/platforms/xcb/qxcbwindow.cpp src/plugins/platforms/xcb/qxcbwindow.h src/testlib/qtestblacklist.cpp src/tools/qdoc/node.cpp src/tools/qdoc/node.h tests/auto/gui/painting/qcolor/tst_qcolor.cpp Change-Id: I6c78b7b162001712d5774293f501b06b4ff32684
| * [QTextCursor] Better use of the cached whiteSpace attributeKonstantin Ritt2015-04-154-24/+8
| | | | | | | | | | | | | | | | In compare to QTextEngine::atSpace(), this also handles the less-common "white spaces" and the exceptional control codes. Change-Id: I52878932926b7f9fe36c9dd01007963b9691fbf0 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Fix trivial copy-paste typo in QTextBlock::previous() docuKonstantin Ritt2015-04-151-1/+1
| | | | | | | | | | Change-Id: Ia5d260af00aecf40400653e41248b5dd5f074b74 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Improve QTextDocument::toPlainText doc related to inline imagesAlessandro Portale2015-04-102-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | "Embedded objects, such as images, are represented by a Unicode value U+FFFC (OBJECT REPLACEMENT CHARACTER)." Also updated the QTextImageFormat docs with the same wording. Task-number: QTBUG-44538 Change-Id: I64dd5f5be4a0ecc64b30758a72f8b4281c17924b Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
| * [QtFontFamily] Get rid of unused memberKonstantin Ritt2015-04-081-2/+0
| | | | | | | | | | | | Change-Id: I8c70995767bfb5fdbd6e9e9464029beeccf41f53 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Remove <qhash.h> where it's not usedMarc Mutz2015-04-202-1/+2
| | | | | | | | | | | | | | | | To avoid source-incompatibilites, wrap in QT_DEPRECATED_SINCE(5, 5) in public headers. Change-Id: I6117e8a6b11200d2f1a0a94a0e87d5c27538218e Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | Replace <qhash.h> with <qhashfunctions.h> where applicableMarc Mutz2015-04-201-1/+1
|/ | | | | | | | To avoid source-incompatibilites, wrap in QT_DEPRECATED_SINCE(5, 5) in public headers. Change-Id: Ic3398f4f330e15a3b55065858add26b90fd70e6c Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* [QFontEngineFT::loadGlyph] Fix reversed condition.Friedemann Kleint2015-04-081-6/+6
| | | | | | | | | | Introduced by 237cb0d082b5518cecf42f1a2186134799de745e (Consolidate paths for fetchMetricsOnly cases). Task-number: QTBUG-45444 Change-Id: Icd642c09490f1cfc5804313d60d467290ae599ba Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* [QFontEngineFT::loadGlyph] Consolidate paths for fetchMetricsOnly casesKonstantin Ritt2015-04-072-25/+27
| | | | | | | | | Use GlyphInfo as a temporary buffer for storing the glyph metrics and go through the same code for fetchMetricsOnly and !fetchMetricsOnly. Change-Id: If8bb85056e5f09588cc3956b43dc51a54d5aecfe Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* [QFontEngineFT] Move code around to improve readability (no-op)Konstantin Ritt2015-04-071-21/+14
| | | | | | | | Move some variables initialization closer to the usage context. Change-Id: I0f1de0ddc9f0fbe3ec4a56455ccc14f9e8d94e5a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* [QFontEngineFT] Avoid double-negation of info.xKonstantin Ritt2015-04-071-4/+4
| | | | | | | | Make it consistent with fetchMetricsOnly path. Change-Id: I6a2d2568d5579255582217515a4e598722547c60 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* [QFontEngineFT] Guarantee correct metrics for alphamap and its bounding boxKonstantin Ritt2015-04-071-38/+8
| | | | | | | | ...for both cached and non-cached modes, by disabling hinting for transformed glyphs in loadGlyphFor(). Change-Id: I13766a653ebd72cbed0f5c38ca3536d042aed762 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* [QFontEngineFT] Consolidate .*lpha.*MapForGlyph() behaviorKonstantin Ritt2015-04-071-71/+52
| | | | | | | ...and decrease code duplication. Change-Id: I5eb3c0694dde9030405a3bd3d410ff9784ed7717 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Merge remote-tracking branch 'origin/5.4' into 5.5Liang Qi2015-03-311-1/+1
|\ | | | | | | | | | | | | | | | | Conflicts: mkspecs/android-g++/qmake.conf qmake/generators/unix/unixmake2.cpp src/gui/image/qimage_conversions.cpp Change-Id: Ib76264b8c2d29a0228438ec02bd97d4b97545be0
| * Avoid using the current frame as the previous in layoutAllan Sandfeld Jensen2015-03-181-1/+1
| | | | | | | | | | | | | | | | | | When continuing a previous layout, we would in some cases add a wrong margin because we would treat the current frame as preceding itself. Task-number: QTBUG-42269 Change-Id: Idf00fadbed890ce34b073cf670cc9b8e1d4b0d5d Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Use QDebugStateSaver to restore space setting in stream operators.Friedemann Kleint2015-03-301-2/+4
| | | | | | | | | | | | | | | | Returning dbg.space() breaks formatting on streams that already have nospace() set. Change-Id: I55e38b018679a67eb40be6b4664505483a3a7d8e Reviewed-by: David Faure <david.faure@kdab.com>
* | Fix "'QCss::Property' is not a class or namespace"Andrew Knight2015-03-301-11/+11
| | | | | | | | | | | | | | | | | | | | | | As reported by GCC 4.9.2 x86_64-linux-gnu. The error message is correct; QCss::Property is the name of an enum. Change-Id: I9fb29d39ac11a644b7b08227f102594b3f3017f0 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Debao Zhang <hello@debao.me> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com> Reviewed-by: Andy Shaw <andy.shaw@digia.com>
* | Update Unicode data up to v7.0Konstantin Ritt2015-03-272-2/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Two newly adopted currency symbols: the Azerbaijan manat and the Russia ruble * Pictographic symbols (including many emoji), geometric symbols, arrows, and ornaments originating from the Wingdings and Webdings sets * Twenty-three new lesser-used and historic scripts extending support for written languages of North America, China, India, other Asian countries, and Africa * Letters used in Teuthonista and other transcriptional systems, and a new notational set, Duployan For more details, see http://www.unicode.org/versions/Unicode7.0.0/ The Properties struct's .*Diff members were narrowed down to signed 15 bits and the unicodeVersion has been expanded to 8 bits. [ChangeLog][QtCore] Unicode data updated to v.7.0 Change-Id: I93ab6f79fa3b05f61abc7279f1d046834c1c1a0b Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Fix soft-hyphen appearance at line-breakKonstantin Ritt2015-03-261-0/+13
| | | | | | | | | | | | | | | | | | | | Replace it with '-' and set dontPrint to true; later we unset the dontPrint flag if soft-hyphen appears at the end of a line after line breaking. Task-number: QTBUG-44234 Change-Id: I05b69bcbbe07e1ee8a5d35d24372356ce8ab9db8 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
* | Set dontPrint flag for the respective glyphKonstantin Ritt2015-03-261-15/+14
| | | | | | | | | | | | | | | | The str_pos variable hasn't been incremented prior to string[str_pos]. Ouch! Change-Id: I54a160c26e23821037bf6ee8aea3e0a94a5e71f9 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
* | Better detection of Symbol fontsKonstantin Ritt2015-03-261-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | > Symbol character sets have a special meaning. > If the symbol bit (31) is set, and the font file contains a 'cmap' > subtable for platform of 3 and encoding ID of 1, > then all of the characters in the Unicode range 0xF000 - 0xF0FF > (inclusive) will be used to enumerate the symbol character set. If we detected the font has a symbol character set, report no other writing systems support. Change-Id: I1030f3339c166ffd03c7caee1b1b26010dfdc314 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
* | Detect Thai writing system support from the font's Code Page BitfieldsKonstantin Ritt2015-03-261-0/+6
| | | | | | | | | | | | | | https://msdn.microsoft.com/en-us/library/windows/desktop/dd317754(v=vs.85).aspx Change-Id: I893746210dc71b9de6f6c064fd9fcaf6340e3c71 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
* | Ensure that CSS rules are inherited from the parent tagsAndy Shaw2015-03-253-66/+233
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When CSS is set in a head tag then it was not being inherited by the child tags when the CSS specification indicates that the properties are in fact inherited. This ensures that those properties are inherited and the non inheritable ones are unchanged. A test is added to cover the different situations with inheritance and a fix is done for the QTextDocumentFragment test which was passing despite having incorrect defaults. Task-number: QTBUG-28770 Task-number: QTBUG-34153 Change-Id: I55966240845a885852a04ecb82c61926dea9f800 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | [QFontEngineFT] Get rid of redundant lockFace()/unlockFace() callsKonstantin Ritt2015-03-201-8/+0
| | | | | | | | | | | | | | loadGlyphFor() locks the face when needed. Change-Id: Ia02dce08243499f9f11b345dcdfa5d9e0a3bc889 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | [QFontEngineFT] Fix memory leaks and possible double deletionsKonstantin Ritt2015-03-201-13/+18
| | | | | | | | | | | | | | | | | | | | | | The glyph returned by loadGlyph() must be freed manually when caching is not enabled, except when it is a placeholder for a missing glyph. This is a fix-up for d18ccbb5be23eaea5eb5f1af2ae0fba334ab21d7. Task-number: QTBUG-32792 Task-number: QTBUG-44812 Change-Id: I410fa1b7703e306739d9dae35fff06af6c79dce0 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | [QFontEngineFT] Fix alphamap creation for a cached glyph with no dataKonstantin Ritt2015-03-121-1/+1
| | | | | | | | | | | | | | | | | | In case the loadGlyph() was called for a glyph to fetch metrics only, loadGlyphFor() never fetches the data for that glyph but returns a non-null result. Change-Id: I2b258c4b7880059d41dc02f1e5a43903706d3888 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | [QFontEngineFT] Avoid caching a transformed glyph in defaultGlyphSetKonstantin Ritt2015-03-122-17/+5
| | | | | | | | | | | | | | | | and only cache non-scalable glyphs in defaultGlyphSet if a requested transform is translation. Change-Id: I49d936736871bd455e573335c014ddefe8bb915e Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | [QFontEngineFT] Move some code around to improve readabilityKonstantin Ritt2015-03-121-6/+3
| | | | | | | | | | | | | | And avoid conversion when the cached FT transform could be used. Change-Id: I9f6bf0a6c6fa166092de698f3ddbbf203e2b3820 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Unbreak QTextLine::glyphRuns() in a multi-threaded usage scenarioKonstantin Ritt2015-03-121-1/+2
| | | | | | | | | | | | | | | | | | | | QFontEngineMulti expects the fallback families list to be initialized prior to the first call to engine(int), however in some scenarios, the initialized and cached engine gets destroyed and re-created later, with no fallback families list set, which causes an assertion. Change-Id: I8d19cc91f3a067f6bf77b36bd87010dd967b4c49 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | QtGui: Fix const correctness in old style castsThiago Macieira2015-03-122-4/+4
| | | | | | | | | | | | | | Found with GCC's -Wcast-qual. Change-Id: Ia0aac2f09e9245339951ffff13c946844bc31eb8 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* | [QFontEngineFT] Use QScopedArrayPointer to auto-free the bitmap bufferKonstantin Ritt2015-03-111-21/+24
| | | | | | | | | | | | | | | | | | Also track the allocated buffer length and re-use the existing buffer instead of allocating a smaller one, where possible. Change-Id: I494519d653522622b1fe4ec80ac9035e2c3d9714 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Bring harfbuzzng.pri naming in par with the other .pri-s in src/3rdpartyKonstantin Ritt2015-03-111-1/+1
| | | | | | | | | | Change-Id: I59bf922e3085a03a4c2c370f42418cb005456d3e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | [QFontEngineFT] Use FT_Library associated with a given faceKonstantin Ritt2015-03-091-5/+3
| | | | | | | | | | | | Change-Id: I4f9927e2c5cb014523bebbe9c719aca89bb86019 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | qdoc: Remove unnecessary ifndef Q_QDOCMartin Smith2015-03-071-2/+0
| | | | | | | | | | | | | | | | | | | | It was preventing some functions in the Qt namespace from being documented and hence auto-links to these functions failed. Change-Id: Ie820eb7c8172deac40554e993e4d61a765a616f4 Task-number: QTBUG-44688 Reviewed-by: Topi Reiniƶ <topi.reinio@digia.com>
* | Merge remote-tracking branch 'origin/5.4' into 5.5Oswald Buddenhagen2015-03-021-8/+31
|\| | | | | | | Change-Id: I95b3a87c5068c6b8068b30a35655b4c2419e7f9e
| * Fix drawing of background for multipage QTextTable cellsJoni Poikelin2015-03-021-8/+31
| | | | | | | | | | | | Task-number: QTBUG-31330 Change-Id: I0103919ee2864b7cd8bed41e6d6fe4ac5b84142e Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Fix various qdoc-warnings.Friedemann Kleint2015-02-251-1/+1
| | | | | | | | | | | | | | | | | | | | qtbase/src/corelib/itemmodels/qitemselectionmodel.cpp:1199: warning: Undocumented parameter 'model' in QItemSelectionModel::modelChanged() qtbase/src/corelib/plugin/qpluginloader.cpp:420: warning: Can't link to 'staticPlugin()' qtbase/src/gui/text/qtextdocument.cpp:1452: warning: No such parameter 'from' in QTextDocument::find() qtbase/src/testlib/qtestcase.cpp:2770: warning: No documentation for 'QTest::qExtractTestData()' Change-Id: I76758dbdf3ad7b0ae1f14de0407a6fde523827d0 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* | Allow QDistanceField to be directly constructed from a QPainterPath.Michael Brasser2015-02-252-0/+12
| | | | | | | | | | | | | | | | | | | | Enables optimization in the case of an already existing QPainterPath. Change-Id: I7f038673ce245ea19e400e6d2c728f07cb55e366 Task-number: QTBUG-42853 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com> Reviewed-by: Gunnar Sletta <gunnar@sletta.org>