aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add changes file for Qt 5.15.1v5.15.1Antti Kokko2020-08-311-0/+159
| | | | | | | Pick-to: dev 5.15 Change-Id: I8dd2f41e4457d3a402e3121c11d422afd1068ffc Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Update tst_DragHandler::mouseDragThreshold zero-threshold test caseShawn Rutledge2020-08-261-7/+8
| | | | | | | | | | | | | | | | | | | After qtbase b50daef9771d8829fc7f808898cbe051a5464b79, a mouse move event that does not contain a mouse location different than the last known location is no longer delivered. It's intended to be OK to set DragHandler.threshold to 0, and this test was checking functionality in that case; but we now need to move the mouse at least one pixel to test it. Then, the drag threshold is immediately exceeded, the drag begins, translation starts to occur, etc. Amends ab5df626bef9365089ce716ce476bccae1d0a04b Fixes: QTBUG-86213 Task-number: QTBUG-85431 Change-Id: I89c0dc13ed06fbf1443f42fa5b63713da56ecf6d Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 051e18a02fcdcb177cd602665424e53253f4d88c)
* QQmlObjectCreator: fix member func call with this == nullptrEvgeniy A. Dushistov2020-08-203-1/+21
| | | | | | | | | | | | | | | | The test example is based on qtvirtualkeyboard/src/virtualkeyboard/content/components/PopupList.qml Luckily ((QQmlPropertyCache *)nullptr) -> property(-1) is ended without access to this, so this was not caught before. But this is UB, plus I can not run Qt and my application compiled with -fsanitizer=X, because of it crashed after the first member function call with nullptr as this Pick-to: 5.15 Fixes: QTBUG-85605 Change-Id: If6a71fde9a14cc4f73139dfa0e6ee3005453104d Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* doc, listview: document that binding to parent should be avoidedRichard Moe Gustavsen2020-08-201-2/+24
| | | | | | | | | | | | | | | | | | | | | | | Clearify in the documentation that the parent of a delegate can change during its lifetime, and even be null. And because of that, they should avoid binding to it. In general, how a control is structured internally should be understood as a private implementation detail. Even if the application has the freedom to read (and even change) the internal parent-child hierarchy as it sees fit, doing so can be fragile as the internal structure of a control can easily change from one version to the other. [ChangeLog][QtQuick][ListView] Since the parent of a delegate can end up being null during its lifetime, developers are now advised against using it in bindings. Fixes: QTBUG-82989 Change-Id: I2d6c79102435d0969f4dc3deec13c5fff4affeb1 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> (cherry picked from commit ed73efa27acd8e7c42a960ef90c2e4a898c20c30) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* webOS: Share images even if cache is falseElvis Lee2020-08-191-1/+34
| | | | | | | | | | | | | | | | | | Regardless Image::cache property, pixmap will be shared between images having same source. Image::cache property had two aspect of internal functionality. 1. Share image instance if source file is same. 2. Store cache for a while even if unreferenced. So we couldn't choose one of them with existing the cache property. In webOS, sharing image instance is quite natural. So by default, the sharing is always supported regardless the cache property. And the property will only cares the 2nd functionality to store cache. Change-Id: I68208cf633ce2afd5f086a61dcc77d0f3d0da037 Task-number: QTBUG-83115 Reviewed-by: Risto Avila <risto.avila@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> (cherry picked from commit 60280cab2d96b0646469f3d85f8927c7baa166d1)
* Doc: Use correct type in QML documentationPaul Wicking2020-08-151-4/+6
| | | | | | | | | | | | DelegateModel.inItems and DelegateModel.inPersistedItems were wrongfully documented as of type int, when they are bool. This patch corrects that. Reflow long lines as clang-format complains.. Fixes: QTBUG-86031 Change-Id: I4dee919b7008b5d3b2f492ed894891ac164a1217 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> (cherry picked from commit 06b3d7ceb732588633e51e6580675b2a2595fe8d) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* qmllistcompositor_p.h: Fix deprecated-copy errorMaximilian Goldstein2020-08-141-11/+2
| | | | | | | Pick-to: dev Fixes: QTBUG-86025 Change-Id: I83ce650e788aecdf4bebfc6a6a4331554f2c6be5 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Fix -Wdeprecated-copy warningsFabian Kosmale2020-08-125-20/+6
| | | | | | | | | | Mostly by avoiding custom functions when the compiler generated ones work just fine (cherry-picked from commit f28b48b90e3230d1ce6bbcd5031ecb50089ec12b) Fixes: QTBUG-85998 Change-Id: If8152fd24c9084bd85be3741fc218709e50fc375 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Force Batch Rebuild if SubtreeBlocked includes an opacity changeAndy Nichols2020-08-121-0/+5
| | | | | | | | Fixes: QTBUG-85965 Change-Id: I2f5aba7fbde7ad2149d408d29db9219f33f13ca8 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> (cherry picked from commit a4fb90f2239de76751922b3c54893a0207b59092) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Add clipNext null pointer guardValery Volgutov2020-08-111-17/+19
| | | | | | | | | Sometime clipNext can be null. Added null pointer guard to avoid segfault. Fixes: QTBUG-85996 Change-Id: I3cd4486fefbf9aa71cf0fdb765bb8398c0e2d591 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* Fix crash when QSGTexture is deleted in rc->endSync()VaL Doroshchuk2020-08-091-1/+9
| | | | | | | | | | | | | | | | | | | | | | 1. When the quick pixmap is cached, it might be deleted by a timer. 2. When its QQuickPixmapData is being deleted, its QQuickTextureFactory is also deleted. Which informs the QSGRenderContext to postpone deleting of a texture that belongs to this texture factory. 3. When an update is called on the _hidden_ window, QSGGuiThreadRenderLoop::renderWindow calls rc->endSync(), which deletes postponed the texture from 2. After that the texture must not be used. But some QSGNode can still keep pointer to the deleted QSGTexture. and when updatePaintNode is called, it might produce a crash. So, suggesting a fix to inform the render loop that there is a window with pending updates, and no need to delete textures. Change-Id: I1487595dbb686e682ac3b91b9c3d21f401095daa Fixes: QTBUG-65170 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> (cherry picked from commit 3df5ad9d247b194401d61c3ffb4b816ec239bded) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix regression in antialiasing on outlined textEskil Abrahamsen Blomfeldt2020-08-0612-8/+12
| | | | | | | | | | | | | | | After e8d9bc1bcada7d94af5a33d64a9afc860ede5b84, outline text would blend with the background rather than the fill color on the inner side of the outline. We should do the mix with the fill color like before this change, but for performance, we should still discard all pixels which are not part of the outline, which we do using step() instead of multiplying by 1.0 - a. Task-number: QTBUG-85514 Change-Id: I4b252bdbd9dae5ee599ba7c5d1cc3609fef61622 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> (cherry picked from commit 4da53ed1d6433730d0604b948ba3b5abeabd1eb0)
* Bump versionAlexandru Croitor2020-07-301-1/+1
| | | | Change-Id: Ie21d6ee2c349296128e4cf3b13ff18baf0067bc8
* QQmlInfo: print ancestor of object if it has no QML engineMitch Curtis2020-07-278-103/+277
| | | | | | | | | | | | | | | | | | | | | | | | | | | This results in the following message for objects without a QML engine: QML AttachedObject (parent or ancestor of Attached): Binding loop detected for property "a" for this QML file, named AttachedObject.qml: import QtQuick 2.0 import org.qtproject.Test 1.0 Item { Attached.a: Attached.a } This, in turn, allows the warning to be emitted via the QQmlEngine::warnings signal, since QQmlEnginePrivate::warning() is now passed a valid engine. This solves the awkward situation where a binding loop warning can not be detected at all by auto tests involving attached C++ objects (as message handlers do not receive these messages either). Change-Id: I07589974207bd5448d22a6086a52b9230d23e298 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 31c892118ce822ca2e7ded99ff261187ce4cf597)
* Replace Qt's MidButton with MiddleButtonEdward Welbourne2020-07-225-5/+5
| | | | | | | | | | | The latter has been the preferred name since Qt 4.7.0. Added a comment on where the old name is exposed to QML that it's only for backwards compatibility. Change-Id: I2c5088d597dd7327cc5899d06afb180d0ec2893e Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> (cherry picked from commit 3debb37250b2c57aaaf81940f9dfeb540fd4e380) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QQmlIRLoader: Restore inline components correctlyFabian Kosmale2020-07-223-0/+25
| | | | | | | | | | | | | | | Whether a component is an inline component is not only stored in the flags, but also in the isInlineComponent member. Ideally, this should be unified and the member removed, but for now we just restore the value correctly. Adjusted tst_qmlcachegen::initTestCase so that we testFile and testFileUrl are actually usable in the test. Fixes: QTBUG-84237 Change-Id: I759cd6b8914b186b9e5c8118863fc8d0580d21af Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> (cherry picked from commit b4d36a05be9f34976c1a1b5ea60ce03c4ab59a25) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* List QtQml, QtQml.Models, and QtQml.WorkerScript as dependenciesUlf Hermann2020-07-093-1/+9
| | | | | | | | | | This does not express the full scope of what is happening, but it might help tools figure out that the respective types will be available when QtQuick or QtQml are loaded. Task-number: QTBUG-84286 Change-Id: I60522e76fc15db0cccf900d7d2a10c50519ba877 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Add binary compatibility files for QtDeclarative for 5.15Milla Pohjanheimo2020-07-084-0/+60489
| | | | | | | Binary compatibility files added. Change-Id: I47468e6a8ff43b27e3a0c6449b193cc23ce4c49d Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Set the stencil buffer zoneDH Kang2020-07-081-9/+33
| | | | | | | | | | This only clears the area that update stencil buffer for a better performance. The information that is to be updated utilizes information located in the following node's siccor area. Change-Id: I9a399667ec7ee0a1028e233c899ee49c98e4e622 Task-number: QTBUG-83108 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Give a better score for methods with a convertable type when matchingAndy Shaw2020-07-074-1/+41
| | | | | | | | | | | | | When it is looking for a matching method based on the argument types, then if a QVariant can be converted to that type then it should give a better score for that method. This is so that it can see it as being more viable a choice when calling the method instead of potentially not being able to find a matching one. Change-Id: Ief7e11feacd1d0b0959330af2576c2d01affbc54 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit a056cb9595ea4a41c93f4c912719f9523b943d3b) Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Add cmake directory dependency for .rcc files process by qmlcachegenUlf Hermann2020-07-041-0/+1
| | | | | | | | | This is necessary to trigger a re-configuration if any of those changes. Fixes: QTBUG-85190 Change-Id: I9a9987533976664d5c382663c52f13a2933a167b Reviewed-by: Evgeniy Dushistov <dushistov@mail.ru> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* QtQuickCompiler: list rcc file as dependency of generated filesUlf Hermann2020-07-031-1/+4
| | | | | | | | | | | | Otherwise the resources will not be re-processed if something is added or removed to/from the .rcc file. This does not affect Qt6 as there all QML files are automatically compiled and qtquick_compiler_add_resources does not exist anymore. Fixes: QTBUG-85190 Change-Id: Iadae47900e0213acfbf241a29307f2d40bcfe7f9 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* qmlformat: Fix handling of empty blocksMaximilian Goldstein2020-07-031-1/+7
| | | | | | | | | | | Empty blocks were often not handled properly. (i.e. in if, for and while blocks) Fixes: QTBUG-85321 Change-Id: I4035dd239a095814362e0aec142b387dc113f282 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit a2969b1720fc8fbd6cb84562fb62a8c02cbca84a) Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* qmlformat: Fix nested functionsMaximilian Goldstein2020-07-036-5/+53
| | | | | | | | Fixes: QTBUG-85035 Change-Id: I5e1cb003b7b84547e3408a086eebf3be740e6860 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit eb90e8ee3313bee547e6721a2649bf9ba84e3e5c) Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* doc: Explain how to work around the linker removing registrationsUlf Hermann2020-07-021-0/+17
| | | | | | | | Fixes: QTBUG-83402 Change-Id: Ie8dc93afb3c3333d1263dcf0f13b41c833de91d5 Reviewed-by: Paul Wicking <paul.wicking@qt.io> (cherry picked from commit efbf8f4894b07bc039e4c32f78a00983bcd0945f) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix baseUrl returning an empty urlJaeyoon Jung2020-07-022-1/+16
| | | | | | | | | | | | Do not append the directory separator if the current path is the root directory. Otherwise it is treated as a remote path incorrectly and an empty url is returned as a result. Change-Id: Icc62114702265e9e1b247624370a78999e564d5f Task-number: QTBUG-83121 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit bba1b19a18a04060942e5580e36daccf9c830b61) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* qmlformat: Fix nested ifsMaximilian Goldstein2020-07-024-19/+88
| | | | | | | Fixes: QTBUG-85077 Change-Id: Ia2fec64a389fd7355f3fcf9438408b021c5abef4 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit df1f4c9a9f3e3c60fdd43513fdc4926c0cbaa553)
* Fix MouseArea mouseX/mouseY coordinates while draggingShawn Rutledge2020-07-023-4/+95
| | | | | | | | | | | | | | | | | | When MouseArea is not anchored with the usual anchors.fill: parent, such that its position is not 0,0, calculating mouseX/mouseY as d->lastScenePos - mapToScene(position()) was wrong. It could be d->lastScenePos - mapToScene(QPointF()), but instead we use mapFromScene(d->lastScenePos) as in a few other places. Amends 8068e7b98cde09565efe27585b84e120f9c5ea99. Fixes: QTBUG-85111 Task-number: QTBUG-75993 Change-Id: If1440d05ec3b75d9f9f4802fbc361756fadb559e Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit 192609f2f8c2f5d8b48716af2166aaa8ad67e80b) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Revive QTQUICK_COMPILER_SKIPPED_RESOURCESUlf Hermann2020-07-024-2/+33
| | | | | | | | | There are valid reasons not to compile some resources with qmlcachegen. Fixes: QTBUG-85243 Change-Id: I9a1233864ed5dda0c264e61db596a9d8c80ea1f3 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 41890402db086f4c61e052cef7659eb6b003dc77)
* qmlformat: Fix trailing newline in if blocksMaximilian Goldstein2020-07-027-3/+26
| | | | | | | Fixes: QTBUG-85003 Change-Id: Ie68c838c9bc1d52181a741871279bee5a8020855 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 15777b94ee96035be79b363f3b1e54f02b5d2cd5)
* qmlformat: Fix inline componentsMaximilian Goldstein2020-07-025-0/+67
| | | | | | | Fixes: QTBUG-85189 Change-Id: I2b30595b44d14b89406b126d3d148f51f8bfbca4 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit 88b3d1fd26b6b566ef00ae728051bff29455eea5)
* qmlformat: Fix multiline bindingsMaximilian Goldstein2020-07-024-0/+30
| | | | | | | | | | Some bindings may turn multiline while formatting. This change makes sure this is handled properly. Fixes: QTBUG-85289 Change-Id: I6df98b926d69a23480003c3d9705bc34c3dd0d5d Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 38e0b279d9c36d029918a2d86575050d13778d86)
* qmlformat: Copy string literals verbatimMaximilian Goldstein2020-07-016-5/+25
| | | | | | | | | Copy string literals verbatim instead of reformatting them. Fixes: QTBUG-84599 Change-Id: I36307eb30faa586f50cf0ce2660fb4e2686a3e4a (cherry picked from commit 237a0e86c700116bfa55a1e1ee6fdabcc1ca5c9c) Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Doc: fix delegate snippetMitch Curtis2020-06-301-4/+4
| | | | | | | Change-Id: I50facb06e37c26bf86d032d3fd5377f23a5d2bc2 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 53730c5da89dbfa085778749a3ebd438970ab2c2) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Change the cursor within HoverHandler.marginShawn Rutledge2020-06-303-7/+82
| | | | | | | | | | | | | The visual cursor feedback was inconsistent with the hovered property when a margin is set. Amends 1c44804600ad3dbeb60d1f5209ce9cf937d30ab3 Fixes: QTBUG-85303 Task-number: QTBUG-68073 Change-Id: I25506baecaecbd6450a0e95786f103024b46b1b8 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit b1493678fc295765ce93e565c5194e860e746436)
* webOS: Don't send synthetic hover event on a frame updateJaeyoon Jung2020-06-251-0/+4
| | | | | | | | | | | | This reverts the commit 6f84a09 partially which generates a synthetic hover event on a frame update. Such hover event has never been expected in webOS and messes up the existing logic. Change-Id: I7b855d27d1d44f2fab240707ef1ec79cdbcff6e5 Task-number: QTBUG-83119 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit a06e873a1e80eda2f8e946ebe4e2f7631c78f53d) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Don't leak QQmlBoundSignalExpressions in signaltransition.cppUlf Hermann2020-06-251-5/+7
| | | | | | | | | We need to adopt them, not addref the newly created object. Fixes: QTBUG-83214 Change-Id: Ic8660e65d4b7c7698657f6b2806b5478f7f15ea1 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 6de0287d7c3aa4251fe6eb4f970d73ce11cf07fc)
* qv4dateobject.cpp: USE_QTZ_SYSTEM_TIMEZONE on more platformsUlf Hermann2020-06-252-2/+35
| | | | | | | | | | | | | | The only platform where we may have a semi-adequate native implementation of the time/date functions is windows. On all other platforms we should use QTimeZone::systemTimeZone() if possible as that at least gives us correct results when the system time zone doesn't change at runtime. Fixes: QTBUG-84474 Change-Id: I34b01e12a751ee1c9b17735810e62e2e847f8446 Reviewed-by: Lars Knoll <lars.knoll@qt.io> (cherry picked from commit 510253aa0996a89e6029d244002a08615b2fb65b) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* qqmlobjectcreator: Fix a typo in translation stringLiang Qi2020-06-231-1/+1
| | | | | | | | | Fixes: QTBUG-85165 Change-Id: I052e97be398791f54f6b5c106ffe364f3457359a Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io> (cherry picked from commit c9cfca06d6ed9ecb4e4873f68b966af5ad10b95f) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* simplematerial example: Fix double installation of main.qmlAlexander Volkov2020-06-231-4/+1
| | | | | | | | | | | qt_example_installs.prf already generates install rules for all example sources, including content of .qrc files. This commit amends bbb6071dc69a2513d2586faaf9896841bf724786. Task-number: QTBUG-84301 Change-Id: Idfef30501dfaaaddebf773aaa690206eedb458fc Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* QQuickWidget: do not crash when failing to make context currentLaszlo Agocs2020-06-231-1/+5
| | | | | | | | | | | | | | | | ...in createFramebufferObject(), e.g. upon resizing. Certain systems have a problem with OpenGL contexts during resizing, according to user reports. We do not know why makeCurrent() would fail, so we cannot prevent the failure, but we can check the result of makeCurrent() and not go on doing GL stuff (which would almost certainly crash) without a valid context. Task-number: QTBUG-83319 Change-Id: I50a4f4e06d636fa0ee41fb9b80e720500711854f Reviewed-by: Andy Nichols <andy.nichols@qt.io> (cherry picked from commit 25348752a3c48a8914f79141098db0eec810ebe0) Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Doc: Add documentation for zScalePaul Wicking2020-06-231-0/+8
| | | | | | | | Fixes: QTBUG-84750 Change-Id: I2a2480abf3c6d81e103869975d68c69adbe5b81e Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> (cherry picked from commit fab48743f0f596afc00faa3bdb68736c594eaf64) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Doc: Update QML connection inline snippetPaul Wicking2020-06-221-1/+1
| | | | | | | | | Fixes: QTBUG-85177 Change-Id: I52f0f8a24e53051aff984cabd414bbfa73fe098e Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> (cherry picked from commit 44af3bd0f7b5a087f878ae626bc36250586c6e49) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix outline for connected textEskil Abrahamsen Blomfeldt2020-06-1916-17/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For any font where glyphs are connected (any font could have this, but specifically Arabic and Indic fonts will typically always connect glyphs, as it is required to express the language correctly), we would draw the outline on a per-glyph basis, thus getting outlines that disconnect the glyphs. In order to fix this, we have to draw the fill of the glyphs in a separate pass after the outline has been drawn. Note that in order for this to look correct, we have to disable subpixel antialiasing on the fill, which required some plumbing in the native rendering glyph node. The outline shaders have also been changed to only draw the outline and not the fill. Also contains back-port of d46c406cc67f12e6a0798ef509abbb973b34d39d in addition to e8d9bc1bcada7d94af5a33d64a9afc860ede5b84. [ChangeLog][QtQuick][Text] Fixed Outline style on connected glyphs, especially visible in e.g. Arabic and Indic writing systems. Fixes: QTBUG-69301 Fixes: QTBUG-83358 Change-Id: If52a940bfb0267384ea002120655aed1310458a1 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> (cherry picked from commit e8d9bc1bcada7d94af5a33d64a9afc860ede5b84)
* Fix the vertical alignment of images in a text documentDominik Holland2020-06-171-4/+6
| | | | | | | | | | | Try to align with the HTML standard as much as possible. AlignMiddle is between AlignTop and AlignBottom. Fixes: QTBUG-84981 Change-Id: Ie99aef0d09a6ece751883492748630526c4a1195 Reviewed-by: Lars Knoll <lars.knoll@qt.io> (cherry picked from commit d28c625006c1b54fc3d39637a7b33e42fadb72a9) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix typo introduced by 1c6a70e1880a8André Klitzing2020-06-161-1/+1
| | | | | | | | Task-number: QTBUG-84497 Change-Id: I7ab4766597eb6ff74922219f6b3f2aedc9f3d55f Reviewed-by: Kai Koehne <kai.koehne@qt.io> (cherry picked from commit 5e410da15c265ba8f053e4e40f409e32599c9e3f) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Prevent items from being deleted while removingElvis Lee2020-06-161-0/+7
| | | | | | | | | | | | Delegate items can be deleted when remove them from cache list. That may cause a crash. So call referenceObject to keep the item from being deleted. Task-number: QTBUG-83352 Change-Id: Id5d7ab6dbf21682940f5393ea4e843c2448f7d81 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit 37fcffa035d55ac00f85f57ce1390fff3be213c6) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Warn circular dependency when loading typesJaeyoon Jung2020-06-164-0/+21
| | | | | | | | | | Detect a circular dependency between two QML types and print a warning message if found. Task-number: QTBUG-83354 Change-Id: I826b28775ba3212ccccaeb56d50b64fec6f38ea9 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit f0c08dc2175cffadb73e06d2cc69a152002e0df0)
* qtquickcompiler: Fix compilation from different drive (Windows)Kai Koehne2020-06-161-2/+1
| | | | | | | | | | | | In this case the absolute path on Windows will start with e.g. "C:/", which is not a valid file name. Therefore also convert colon to an underscore. Fixes: QTBUG-84901 Change-Id: If79245a5dda5a699f3dceb8e4f08e5a206d566a3 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit dd8e9f3fae84da3dd40b94122ad54d74d329163f) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Speed up rendering huge static scenesEskil Abrahamsen Blomfeldt2020-06-162-1/+11
| | | | | | | | | | | | | | | | With really big, static scenes, traversal of the geometry list is expensive enough that it becomes a limitation on the frame rate if we do it in the inner loop of every frame. And going through the whole list of geometry every frame just to verify that nothing has been removed is a waste of time. In a test with two million opaque items in a single draw call, I can hit 144 fps with this small optimization versus 50 fps on the same machine without the patch. Change-Id: Id11c1d96456e79a62c33b89e5f115bdaacceeacd Reviewed-by: Lars Knoll <lars.knoll@qt.io> (cherry picked from commit a8d357761dbf74cbdc72348be6c655cafb745ff2)