aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Fix signal emission order for zero-duration animationsJan Arve Saether2020-03-311-8/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The order for non-zero-duration animations are: * started() * runningChanged(true) * stopped() * runningChanged(false) * finished() This patch tries to ensure that zero-duration animations have the same signal emission order. The problem was that when setRunning(true) was called on zero-duration animation, it would call itself (setRunning(false)) lower in the call stack in order to immediately stop again. This had the implication that we could emit stopped() even before started() was emitted (since the recursive call to setRunning(false) would actually complete before the ancestor stack frame setRunning(true) was completed) To fix this we emit started() *before* we call start() on the animationInstance. There is still a bug in that runningChanged(true) is still not emitted for a zero-duration animation, but this patch should improve the current behavior in the sense that stopped() is not emitted _before_ started(). Task-number: QTBUG-48193 Change-Id: Ic2bc85e648e6746f6a058e2e9136515e7fdb6192 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* qmltyperegistrar: Record header file names in qmltypes filesUlf Hermann2020-03-304-3/+14
| | | | | | | We will need them to find the types in C++ code. Change-Id: Id00c6d855adbb767a0be8a9469fbe47447ccec8b Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* qmltyperegistrar: Accept more file extensions as headersUlf Hermann2020-03-301-8/+11
| | | | | | | | Also, even if the file does not appear to be a header, still try to include it. People use strange file names. Change-Id: I2db7bd6aa14007a8b458c3860ba0553bb3b384b7 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* QQuickPointerTouchEvent::touchEventForItem(): avoid deprecated accessorsShawn Rutledge2020-03-301-1/+1
| | | | | Change-Id: Ifdf42f77ac3f79690e81392d85cd19667cc37f17 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-03-283-6/+10
|\ | | | | | | Change-Id: If7b3f7902eb18d586d8b721e77f4dfedc87cfb9a
| * Flickable: add nullptr check (crash seen only in release mode on windows)Nick Shaforostov2020-03-261-0/+3
| | | | | | | | | | Change-Id: I2ac42ded0c2ed4dc3937a57f69109f10b19f9cc7 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * PinchArea: document the pinch parameter for its signalsGiuseppe D'Angelo2020-03-211-4/+4
| | | | | | | | | | | | | | | | The parameter was described in the documentation but missing from the signatures. Change-Id: Ie2718c9f2ac945ac7c8ea1555d097b426d9fba2a Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * QV4Engine: Avoid memory leak in toVariant conversionFabian Kosmale2020-03-091-1/+5
| | | | | | | | | | | | | | | | We should really backport this to 5.14. Someone will hit it. (cherry-picked from commit 78fd438f158839ffebcd52cc7974eac28489dbdd) Change-Id: I2c713fd759ac40aaaac0c0943edb993d3e27686b Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
| * Make tst_qquickcanvasitem significant again; fix image size roundingShawn Rutledge2020-03-051-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - the test items must be visible, so that waitForRendering() works - arcTo::test_paint tried to render an out-of-bounds arc, which resulted in rendering nothing. Now renders within the 100x100 canvas. - painted() is not emitted the first time the Canvas is rendered. - Canvas.save() saves relative to the directory from which the test is run, while Canvas.loadImage() loads relative to the test data directory in this autotest (other tests are loading red.png for example). So we need to use absolute paths to test loading and saving in the directory where the executable is. - canvas.getContext('2d').getImageData(8.5, 8.5, 8.5, 8.5) now triggers different rounding behavior in QRectF::toRect(), after qtbase 88e56d0932a3615231adf40d5ae033e742d72c33: it becomes QRect(9,9 8x8). The assert in qt_create_image_data() needs to accommodate that. - Fixed another pedantic warning in qt_create_image_data a few lines above: if it creates the image itself, it needs to round the qreal width and height values. This reverts commit a23ee5c0de0d91859e1e76e64073861347dd9861 and amends 424cfef3cc3c140df51905713fa3849562bc494d and d142b2d212ea09a7919a0a2761ee9c04d5c9bda8. Task-number: QTBUG-41043 Change-Id: I825c2c5a2bbc8d5324c3ba41a681aa68bc25a159 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | QQmlTableInstanceModel: Restore draining behavior of Qt 5.14Ulf Hermann2020-03-272-5/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | In Qt 5.14 model items are directly deleted when draining the reusable items pool, rather than calling deleteLater() on them. This may be slightly more efficient and due to some unknown side effect the deleteLater() call creates a memory leak. Restore the direct delete in drainReusableItems(). Fixes: QTBUG-82000 Change-Id: Ia1027b1004c04e8aceaa5ff16a600849c46bf470 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | Remove comments about renaming and removing properties for Qt6Jan Arve Sæther2020-03-261-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For the record, my argument for not acting upon these comments was that they seems to be missing a key issue: OrientationSensor does not offer a superset of the features of QQuickScreen::orientation. Therefore, it cannot just replace QQuickScreen::orientation: An OrientationReading is the output from the sensor itself regardless of any settings that was made in the OS to for instance lock the UI to landscape only. And this seems to be the point of the QScreen::orientation: It's supposed to be the "virtual/locked" orientation we get when we ask the OS (which might not reflect the true physical orientation, since it might be overridden by the OS due to e.g. landscape locking). The original author agreed with this argument, and agreed that the comments can just be removed. Change-Id: I2df0ae9debc6b6177f0e4ee6efb60c03da726e15 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | qmltyperegistrar: Use target instead of template nameMaximilian Goldstein2020-03-261-1/+1
| | | | | | | | | | | | | | | | | | Due to the fact that multiple targets may be present in the same directory we have to ensure they all get a unique qmltypes. Fixes: QTBUG-82710 Change-Id: I4d7966035644b68f7d3330a4c974369503c48bf2 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | Doc: Fix typo in linkPaul Wicking2020-03-261-1/+1
| | | | | | | | | | | | Fixes: QTBUG-83099 Change-Id: I8cbf2680021836a9e43c225211cf9b479445452e Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* | qmltyperegistrar: Accept extra foreign types filesUlf Hermann2020-03-261-5/+5
| | | | | | | | | | | | | | | | | | | | | | If you add your own libraries with metatypes, qmake cannot determine where to look for their metatypes.json files. Add a qmake variable that allows the user to specify them. Fixes: QTBUG-82709 Change-Id: I3f5685146c134c89e541e4097ff3928de9af2aee Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* | QML: Avoid cyclic references between ResolvedTypeRefence and CUUlf Hermann2020-03-257-51/+105
| | | | | | | | | | | | | | | | | | | | | | | | The compilation unit keeps a list of references to used types. Usually those are references to types in other compilation units. However, in the case of inline components they can be references to the same compilation unit. In that case we should not addref() the compilation unit, as that forms a cyclic reference. Fixes: QTBUG-82768 Change-Id: I29d28f3a4780aad4fabd4aa2ed02ca0d0108987e Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Check that QJSValue to set conversion worksFabian Kosmale2020-03-241-1/+1
| | | | | | | | | | | | | | | | | | | | Also, fix the check to actually test the correct capabilities by using the containerCapabilities function; testing _iteratorCapabilities only worked by chance so far. Task-number: QTBUG-82743 Change-Id: I64f20c6bf1e47737c7b927f79e1e78c1a1603741 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | Add standard casing for FolderListModel::fileUrlMichael Brasser2020-03-242-4/+9
| | | | | | | | | | | | Task-number: QTBUG-82298 Change-Id: Iad95b7a90c2c247c44b8656b0fd104843bd4fa8c Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | Resize offscreen window when QQuickWidget is resizedMitch Curtis2020-03-241-9/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In a typical Qt Quick application, when a window is resized, the contentItem of that window is resized with it, and then the root item. QQuickOverlay in qtquickcontrols2 listens to size changes in the contentItem (QQuickRootItem) via addItemChangeListener(), as a cheap way (e.g. no signals) of knowing when to resize background dimming effects. It resizes the dimmer item to the size of the window. The first problem with QQuickWidget is that it only ever resizes the root item when using the SizeRootObjectToView resize mode, and not the contentItem. The second problem is that the root item is resized (via updateSize()) before the window itself even has a size (which happens in QQuickWidget::createFramebufferObject() via the call to d->offscreenWindow->setGeometry()). To demonstrate the second problem in detail, consider the following widget hierarchy (written in everybody's favorite language: QML): QMainWindow { QQuickWidget { QQuickWindow { // QQuickWidgetPrivate::offscreenWindow QQuickRootItem { // QQuickWindowPrivate::contentItem Page {} // QQuickWidgetPrivate::root } } } } The QMainWindow starts off as 200x200. When the window is resized, QQuickWidget::resizeEvent() is called. The first thing it does is call updateSize(), which in the case of SizeRootObjectToView, resizes the root item to 300x300. This causes QQuickOverlayPrivate::itemGeometryChanged() to be called, and the dimmers are resized to the size of the window, but the window still has its 200x200 size, as it is only updated later, when QQuickWidget::createFramebufferObject() is called. This patch fixes these issues by ensuring that contentItem and the window itself are resized along with the root item. As to why such manual intervention is necessary: from what I can see, it is because it's an "offscreen" window. This means that QWindowPrivate::platformWindow is null, and setGeometry() takes a different path that presumably results in no QResizeEvent being sent to the QQuickWindow. As QQuickWindow relies on resizeEvent() being called to resize its contentItem, the contentItem is never resized. With a typical Qt Quick application, all of this works as expected. Change-Id: I7401aa7a9b209096183416ab53014f67cceccbe4 Fixes: QTBUG-78323 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | rhi: Remove broken assertLaszlo Agocs2020-03-241-2/+0
| | | | | | | | | | | | | | | | | | | | The recent patch for enabling the command buffer be specified already during the sync phase changes the behavior so that the m_currentFrameCommandBuffer may already contain a non-null value when we get to the render phase. Just remove the assert. Change-Id: I7f1e0d8cd6a307f64425ac4ce9dd056a89e7eed2 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* | Remove mindless cast, 'errorOccurred' was never ambiguousTimur Pocheptsov2020-03-241-2/+1
| | | | | | | | | | | | Task-number: QTBUG-82605 Change-Id: I67b7088b97ebbf7cfef7a21a3987de7f8810b12c Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* | Trade memory for performance in PropertyUpdater::doUpdateFabian Kosmale2020-03-242-11/+8
| | | | | | | | | | Change-Id: I0117029ecbe7fc369c15fcd8a44f93797e95ab3e Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | PropertyUpdater: Do not crash on invalid contextFabian Kosmale2020-03-231-2/+5
| | | | | | | | | | | | | | | | | | | | | | If the context is gone, we assume that the object is currently torn down. Therefore we do not print an error message in that case. Fixes: QTBUG-82809 Change-Id: I74e5a4f41490ea9c13639c158a4d5fc0a52a38a4 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | QNetworkReply: fix use of deprecated error signalMårten Nordheim2020-03-231-1/+1
| | | | | | | | | | | | Task-number: QTBUG-82605 Change-Id: I015547da20dd38c4de75f21c1896d53e1ca355c2 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | QQuickTableView: add private support for transposing the viewRichard Moe Gustavsen2020-03-232-13/+32
| | | | | | | | | | | | | | | | This is needed by HorizontalHeaderView when assigning it one dimensional models. Change-Id: I183f0d35b8f3a97853fc7496dc68b0e13e9be990 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | QQmlValueTypeWrapper: Avoid compile warningsUlf Hermann2020-03-231-4/+4
| | | | | | | | | | | | | | | | The type names are expected to be UTF-8 and we don't need to keep temporary meta types. Change-Id: I676d04d8733ef0ea3e159038d4973753350572bf Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | QQmlDelegateModel: Don't require a delegate to cancel an incubationUlf Hermann2020-03-231-1/+1
| | | | | | | | | | | | | | | | | | It is actually not needed, and declining to cancel the incubation leaks memory. Change-Id: I478ed2a4eef34bd27c716762a2fced1e9091607c Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | QQmlDelegateModel: On deletion, cancel any remaining incubationsUlf Hermann2020-03-231-2/+12
| | | | | | | | | | | | | | | | This fixes the memory leaks from the "x items in the process of being created at engine destruction" situation. Change-Id: I65fe278ead3d4de0cbddc075972a6774b231814f Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | QQuickView: Don't leak root object in error caseUlf Hermann2020-03-201-2/+4
| | | | | | | | | | | | Change-Id: I506c944fe3a472b3950d66167089054e91dd942c Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Doc: Add missing documentations of Window Type signalsNorihito Tohge2020-03-191-1/+84
| | | | | | | | | | | | | | | | Task-number: QTBUG-82705 Change-Id: I78a614c47a0f7d95b2a215d94e964c1202d89bcf Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | qmlRegisterSingletonInstance: show user-friendly signature in documentationFabian Kosmale2020-03-182-1/+6
| | | | | | | | | | Change-Id: I50ee4c014acf3f95d00a38c6d115776143688c8e Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | rhi: Enable layer updateTexture(), and so grabs, in the sync phaseLaszlo Agocs2020-03-186-8/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Calling updateTexture() from an updatePaintNode() implementation means we are still in the synchronization phase, with the render step (as in QQuickWindow::renderSceneGraph()) not started yet. Make sure the QRhiCommandBuffer is sent around early enough, so it is usable by QSGRhiLayer already during sync. There is no use case for this in Qt Quick itself since all standard items invoke updateTexture() from QSGNode::preprocess() (which is part of the render, not the sync, step), but Qt Quick 3D relies on this in Texture.sourceItem. This should fix the sourceitem manual test in Qt Quick 3D, so that it will not crash anymore when running with RHI enabled. Task-number: QTBUG-82927 Change-Id: I38adf512e49b1c6eef4730cd23663d351725d6cd Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | Fix some network related deprecation warningsFabian Kosmale2020-03-163-4/+4
| | | | | | | | | | Change-Id: I0e5e9e42b7c81e1fa5d6abde6bd6346dbc2f14ff Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | Inline components: Abort if two IC's with same name existFabian Kosmale2020-03-162-0/+7
| | | | | | | | | | Change-Id: Ic52fa388711a76d729ae28678932f4a150da9583 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | Prefer Inline Components over any other imported nameFabian Kosmale2020-03-162-0/+23
| | | | | | | | | | | | | | | | | | | | | | After processing all other imports, there might be other imports both in front and behind of the inline component imports in the import list. To avoid having to search for them, we sort the list so that they are in front. Fixes: QTBUG-82302 Change-Id: I9f6deb03608b1ebd0cbe0eddd1a1e5d39837a783 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | Doc: Remove \contentspage commandsTopi Reinio2020-03-153-11/+0
| | | | | | | | | | | | | | | | The command is deprecated and has no effect apart from generating a documentation warning. Change-Id: I4a873359a8e795b8807371470b2da148a4077cbe Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* | Check that value type exists before creating wrapperFabian Kosmale2020-03-121-2/+12
| | | | | | | | | | | | Fixes: QTBUG-82843 Change-Id: I1ea4a52b33e7d318525e63346eab46ecf7a8fec0 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | Remove unused defineNorihito Tohge2020-03-121-2/+0
| | | | | | | | | | | | | | It looks like this has never been used since 5.0. Change-Id: I1038a9f15f05b5476515cf2d35931f992e77fbbe Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | rhi: Make QSGRenderNode usable in Quick3Dv5.15.0-beta2Laszlo Agocs2020-03-113-41/+56
| | | | | | | | | | | | | | | | | | | | | | | | Cannot just rely on a render() function, need a point where the "prepare" step can be performed, outside the main renderpass. Also enables proper m_useDepthBuffer handling for the RHI code path. Task-number: QTBUG-82797 Task-number: QTBUG-82793 Change-Id: I525228e53acefad9f2e6a33d446260a1521d8ae1 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* | Remove hard-coded notes for 'Corresponding handler' for QML signalsTopi Reinio2020-03-1033-270/+5
| | | | | | | | | | | | | | | | QDoc will generate these notes automatically. Task-number: QTBUG-37355 Change-Id: I8ed058ecbbcc630ad0351f6ce167c3fa61936f6f Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* | Add missing QPainterPath includesUlf Hermann2020-03-091-0/+1
| | | | | | | | | | | | | | | | | | Apparently QPainterPath was transitively included from some other header before. With current qtbase, it is not anymore and the old code fails to compile. Change-Id: I2de3cd72e3cd33a4537f8156298fc757182907fa Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* | Add missing QPainterPath includesMitch Curtis2020-03-091-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | .../qsgadaptationlayer_p.h(500): error C2079: 'QSGDistanceFieldGlyphCache::GlyphData::path' uses undefined class 'QPainterPath' .../splineeditor.cpp(168): error C2079: 'path' uses undefined class 'QPainterPath' Change-Id: I5f905aa31b24f71c65889047065ab43725fb6733 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | Avoid using deprecated QTabletEvent::device()Simon Hausmann2020-03-071-1/+1
| | | | | | | | | | | | | | That member was removed in qtbase dev. Change-Id: Ia2e69ee53e154fdb9b8b4c707ac5a463011cf0c1 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | Doc: clarify the fontSizeMode property in terms of Rich and Styled textAndy Shaw2020-03-061-0/+6
| | | | | | | | | | | | Fixes: QTBUG-56650 Change-Id: I7b750031f3af368de7f7cebe64a5d1ce77f68408 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* | Remove duplicate add of qqmljsengine_p.h to HEADERS in parser.priFawzi Mohamed2020-03-031-2/+1
| | | | | | | | | | Change-Id: I6848575df79be5f84e55e1e9ae9282216424afeb Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Get rid of extra spaceFawzi Mohamed2020-03-031-1/+1
| | | | | | | | | | | | Change-Id: I11e5c9e95974e89f2fd1571ca4b97a0f2ac3309a Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-03-039-8/+74
|\| | | | | | | | | | | | | | | Conflicts: src/qmlmodels/qqmltableinstancemodel.cpp src/qmlmodels/qqmltableinstancemodel_p.h Change-Id: I89339b1cb41ba27fe30c79530859a1c2bfbecc69
| * QQuickItem: prevent endless loop in focus tab chainWang Chuan2020-03-031-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the commit a18ab2a3822e0d, we promote the [startItem] in focus tab chain when it is invisible to prevent endless loop. However the problem still happen if the [startItem] is equal to [firstFromItem] Fixes it by compare the [current] item with the original start item Fixes: QTBUG-81510 Change-Id: Iae0207f39e2b8c4fc6ed0cf36f0a855668accfba Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * QQuickTableView: Immediately delete delegates when possibleUlf Hermann2020-02-283-1/+30
| | | | | | | | | | | | | | | | | | | | | | | | In the dtor we don't need to care about any side effects a direct delete may have. Rather, any deleteLater() may not take effect anymore as the event loop may be gone already. Task-number: QTBUG-82000 Change-Id: I97935dc47fbbfd0c050e80c333c36a05f685c45d Reviewed-by: Joni Poikelin <joni.poikelin@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
| * QQmlTableInstanceModel: Fix refcounting of metatypesUlf Hermann2020-02-272-4/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The reusable items pool should only hold unreferenced objects. Therefore, we can immediately delete them when draining. release() is not suitable here because it unconditionally decreases and therefore underflows the refcount. Furthermore, the metatype is also refcounted, which means we should keep it in a QQmlRefCounter in order to not leak references. Task-number: QTBUG-82000 Change-Id: Iefdaaecc34342eb2e3b1e5a3281f2e46ac472347 Reviewed-by: Joni Poikelin <joni.poikelin@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Doc: Add section about QVariantList and QVariantMap as C++ propertiesUlf Hermann2020-02-241-0/+19
| | | | | | | | | | | | | | Change-Id: Ie18661274880f45d911baf05797a8b384d72f9f7 Fixes: QTBUG-82249 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io>