aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix performance regression in rich text with imagesEskil Abrahamsen Blomfeldt2016-11-141-6/+2
| | | | | | | | | | | | | | | | | | | In a3da23d5a92ab0f9b8280b9ed591986f8ac6a2d6 we added linear filtering to the image node in rich text when smooth was set to true (which it is by default). But we also enabled mipmapping, which caused a bad performance regression when updating the text item. If we want to support mipmapping, we would have to add a separate property for this like in the image node, but since the original bug report only called for supporting smooth scaling like in Image, we can simply revert part of the change. [ChangeLog][QtQuick][Text] Fixed a performance regression when rendering a rich text item with scaled images. Task-number: QTBUG-54723 Change-Id: Ib930112b76f0fe0b2e658f86520a9290354b8f6f Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* TextEdit: set cursor delegate's height to match the selected fontMitch Curtis2016-11-123-0/+59
| | | | | | | | | | RichText can have blocks of text with varying font sizes, so we must ensure that the cursor delegate's height is also set when it's moved to a different position in the text. Change-Id: I00691a94a2360c7d3272571fc4ba0da28b01006a Task-number: QTBUG-54934 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* Doc: replace "the empty string" with "an empty string" in TestCase docsMitch Curtis2016-11-101-3/+3
| | | | | Change-Id: Idcc23782f2ed382914a74740ad9f2984d7a98f78 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-10-2717-46/+82
|\ | | | | | | | | | | | | | | | | Conflicts: src/quick/items/qquickwindow.cpp tests/auto/quick/qquicktext/BLACKLIST tests/auto/quick/qquicktextedit/BLACKLIST Change-Id: I8bd68b0b5e853b7908791d2cbddd18dd527c76ae
| * Fix documentation for dragFinished signalAndy Shaw2016-10-261-1/+1
| | | | | | | | | | Change-Id: I9a38ab8ff60921e6d5ff6c2fa476b24d28781feb Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
| * Add a test for bitmap font rendering in Qt QuickEskil Abrahamsen Blomfeldt2016-10-251-0/+18
| | | | | | | | | | | | | | | | | | | | The "fixedsys" font is available on Windows at least, so while this test may not add any value on other platforms, it won't hurt either, and this was something that regressed on Windows before. Task-number: QTBUG-56659 Change-Id: Id01dedcbdc2fe74027caf31dd0dde6729ade8c63 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
| * Fix QML Compiler crashSimon Hausmann2016-10-251-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | After commit 2afb54fb51091765f79548b0b057795bc3c6eb38, Primitive::undefinedValue() uses setM() to clear out all bits. Previously that code was #ifndef'ed out for the bootstrap build, but now that we can do the correct boxing in host builds (as we know the pointer size), we can re-enable setM() in bootstrap builds and fix this crash that was a Q_UNREACHABLE() assertion. Change-Id: I49036792c06c9a17272aba65261ab8f32beb2ad8 Task-number: QTBUG-56658 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * Make tst_qquicktextedit::mouseSelection() passJ-P Nurmi2016-10-242-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since qtbase commit beef975, QTestLib avoids generating accidental double click events by adding 500ms timestamp delta on release events. The test requires a press-and-drag-and-release type of sequence with double and triple clicks. The triple-click case is handled fine with QTest::mouseDClick() + press + move + release, but the double-click case is using QTest::mouseClick() + press + move + release and relies on the accidental double-click event generation that QTestLib now deliberately prevents. I can't think of a nice way to inject the move event in the middle of a double-click sequence generated by QTest::mouseDClick(), so we just send the missing double-click event by hand. We can also remove the QStyleHints::mouseDoubleClickInterval waits, which were there to prevent the aforementioned accidental double click events that can no longer happen. This reduces the total execution time of mouseSelection() by roughly 90%. Task-number: QTBUG-50022 Change-Id: I252e87d6a49ea86a44cfa347a29eebee12fd36d1 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
| * tst_qquicktextedit: remove mouseDoubleClickInterval waitJ-P Nurmi2016-10-231-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | Since qtbase commit beef975, QTestLib avoids generating accidental double click events by adding 500ms timestamp delta on release events. Thus, now we can remove the QStyleHints::mouseDoubleClickInterval wait, which were there to prevent the aforementioned accidental double click events that can no longer happen. The default inverval is 400ms, so this saves us nearly half a second on most platforms. Change-Id: I7a670b70c012ac027dc951ebafdf5e7d53b89ce9 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * tst_qquicktext: remove bogus blacklistingJ-P Nurmi2016-10-231-2/+0
| | | | | | | | | | | | | | There's no such test as mouseSelection in tst_qquicktext. Change-Id: I09bf4c61b53acd9811e020379a29c80fce9fe48b Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
| * Fix TextInput::selectByMouse documentationMitch Curtis2016-10-191-2/+2
| | | | | | | | | | Change-Id: I41ef6b38e74162434c397535f9d73fff80e29c78 Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
| * QQuickWindow: don't discard timestamps for wheel eventsJ-P Nurmi2016-10-152-2/+6
| | | | | | | | | | | | | | | | | | | | | | Noticed while debugging QTBUG-56075 on XCB. QQuickFlickable did not receive timestamps for wheel events provided by XI2. This alone does not fix the flicking speed issue with high-precision trackpads, but is needed to be able to calculate the appropriate velocity. Task-number: QTBUG-56075 Change-Id: I458e6302aee72863cdc1f8e8f7d99449016905a9 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * Fix docs about ownership when QObject has a parentSérgio Martins2016-10-141-2/+2
| | | | | | | | | | | | | | | | | | If you return a QObject with parent from a Q_INVOKABLE it *does* get QQmlEngine::JavaScriptOwnership. It just doesn't get deleted by JavaScript (until you unset it's parent). Change-Id: Id56debe06253ea1dd31dee844f5047d4ac055024 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Remove superfluous warning statement in QAccessibleQuickItem::rect()Alexandru Croitor2016-10-131-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The warning statement is printed whenever a successful hit test (essentialy a hover) happens on a QML item which is accessible (e.g. a Label) and also not visible. The message looks like "QQuickText QVariant(Invalid) QRect(0,0 0x0)". The information serves no real purpose though: 1) The property accessibleText is not set anywhere 2) The warning happens in a valid use case when an item is invisible, and the user mouse accidentally hovers over its position Change-Id: I8d20f7842d92c7944bb5e3b614ecd6fad500102a Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
| * Check qgl_current_fbo_invalid before using qgl_current_fboAlexandru Croitor2016-10-131-1/+2
| | | | | | | | | | | | | | | | | | | | QSG24BitTextMaskShader::useSRGB() on macOS accesses the current context qgl_current_fbo member without first checking if it is valid. Make sure it also checks qgl_current_fbo_invalid, thus not accidentally dereferencing a dangling pointer. Change-Id: I56a77de23ee3b4b271bd848506ff26e14d7b6d15 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| * Example: Use TextInput's displayText property instead of lengthVenugopal Shivashankar2016-10-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The replace Text item that is overlayed on the TextInput, behaves like the TextField.placeholderText property. The opacity of the item varies based on whether the TextInput has any text or not. Using the length property to adjust the opacity fails on platforms such as Android where the length is not updated until the text is committed (i.e. until you hit the [ENTER] key). Whereas the displayText property is updated when you key in text, so it is ideal to use the length of the displayText than the length property itself. Change-Id: I678e5db5e5d5027e4aae816b6620095c68138eb7 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * V4: Fix usage of QV4::Value tags/typesErik Verbruggen2016-10-135-17/+41
| | | | | | | | | | | | | | | | These two were mixed, but have completely different values. Task-number: QTBUG-56471 Change-Id: Ifbf6da3032335ea89bfbc3acde17f64a571b9dc0 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | QQuickShortcut: allow setting a custom context matcherJ-P Nurmi2016-10-262-20/+99
| | | | | | | | | | | | | | | | | | | | | | This allows Qt Quick Controls 2 to register a shortcut context matcher that makes shortcuts behave well with QQC2's item-based popups, which QQuickShortcut is not aware of. Task-number: QTBUG-56562 Change-Id: Ia2518fd6ac7140f60aa38c7d9af557007e9db23b Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* | Fix tst_rendernode::renderOrder() on high DPI displaysMitch Curtis2016-10-171-7/+9
| | | | | | | | | | | | | | | | When QT_SCALE_FACTOR is 2, fb.width() is 400 instead of 200, for example. Change-Id: Iec02d7cfd49d29fceda6645377b75e4607cceb6f Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* | Fix gcc6 buildAllan Sandfeld Jensen2016-10-161-6/+3
| | | | | | | | | | | | | | | | | | Complete the patch for tautological-compare warnings after it was merged form 5.6. Task-number: QTBUG-56266 Change-Id: I39f25f429b90deb8d8830fb15f45ce29a5a4c51c Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | Row/Column/GridLayout: add missing margins properties to documentationMitch Curtis2016-10-142-27/+21
| | | | | | | | | | | | | | | | 52e1044a1a22525b960d9e1d336ac06c4f39e6d5 in qtquickcontrols missed this. Change-Id: Ie104c421e34d4d2a13a88864a279eb65738bd5a8 Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
* | QQuickItem: eliminate repeated access to QQmlV4Function::v4engine()J-P Nurmi2016-10-131-10/+10
| | | | | | | | | | Change-Id: Ifc33c17d125ca794a157a87dc5cc1be51c2aaefb Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Item: sort out mapFromGlobal() and mapToGlobal()J-P Nurmi2016-10-135-2/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The commit message of 08327da, and the change log of Qt 5.7.0 promised that mapFromGlobal() and mapToGlobal() were available in QML. But since the revision 7 of QQuickItem was not registered, this was not entirely true. Due to a little quirk in the QML engine's handling of revisioned methods, mapFromGlobal() and mapToGlobal() were only accessible via an identifier or property, but not directly: // works MouseArea { id: ma; onClicked: console.log(ma.mapToGlobal(Qt.point(mouse.x, mouse.y))) } // ReferenceError: mapToGlobal is not defined MouseArea { onClicked: console.log(mapToGlobal(Qt.point(mouse.x, mouse.y))) } Furhermore, this is inconsistent with how mapFromItem() and mapToItem() are exposed to QML. Even though the C++ versions of these methods take QPointF and QRectF, the QML versions take 2-4 number specifying x, y, width and height: object mapFromItem(Item item, real x, real y) object mapFromItem(Item item, real x, real y, real width, real height) object mapToItem(Item item, real x, real y) object mapToItem(Item item, real x, real y, real width, real height) Therefore the signature of mapFromGlobal() and mapToGlobal() should be: object mapFromGlobal(real x, real y) object mapToGlobal(real x, real y) This change implements the QML versions of these methods using QQmlV4Function, and adds the missing documentation for the QML API. NOTE: This is QML-only API. Change-Id: I2ced4836d274c7d1e644ea29fc25dbdd2045001b Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-10-1216-40/+96
|\| | | | | | | Change-Id: Ib31008e593442ca5813fb14ae6b02f7ab2577395
| * testlib: Add timestamp to mouse click eventsPeter Varga2016-10-111-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | Timestamp is necessary for testing custom mouse event handlers e.g. what Qt WebEngine uses for handling triple and quadruple mouse clicks. Based on Qt Base commit 181ee8f9ffacc51265ccc3a0005bf146f230cf85 Task-number: QTBUG-56223 Change-Id: I84d0ca40767d0b1dccb33da1fb1f6ff5721d1096 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
| * Fix V4 on big-endianAllan Sandfeld Jensen2016-10-101-8/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We can't both invert offset position and inter-value positions of tag and value. This patch changes 32-bit big-endian to use the same order inside the tag/value but just at different offsets. This also make it compatible with how we use it with doubles. This fixes value/tag reads on 32-bit big-endian and offsets on 64-bit. Task-number: QTBUG-56271 Change-Id: I95cf792c29ac3f42a4018ce1f115193c143a0df0 (cherry picked from commit 2a658344397729450f869138bf77e063a0a6166b) Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * Fix corruption when adding or changing properties of JS objectsArnaud Vrac2016-10-102-4/+22
| | | | | | | | | | | | | | | | | | | | Commit 833c99db20 introduced this regression by only moving part of the value data to the proper offset. Task-number: QTBUG-53261 Change-Id: I11241c57057a57794bc3ca60ee437206e524f355 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * Fix developer-build with gcc 6Allan Sandfeld Jensen2016-10-104-19/+37
| | | | | | | | | | | | | | | | Locally suppress bogus tautological compare warnings. Task-number: QTBUG-56266 Change-Id: Ic1b554982a778cdd89c8047483523c44d53bbadd Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Fix FastFBOResizing hint for QQuickPaintedItemYoann Lopes2016-10-062-3/+15
| | | | | | | | | | | | | | | | | | The item updates the node in an order that would never actually take that flag into account. We now makes sure the FBO size is updated when the flag is set. Change-Id: I7aaaf64ed802ec0b53a3b47a39bbdea8195b4092 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
| * QQListView: use dot for property syntaxFrederik Schwarzer2016-10-061-1/+1
| | | | | | | | | | | | | | Additionally, that way the braces are not needed anymore. Change-Id: I5afc8fa738211f884ac011079a2ee63613a46d08 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
| * Fix linking against static build in Visual Studio 2015Pavol Markovic2016-10-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fix builds on commit f656fc588bab4104d531cb46836168da6736a518 from 22 April 2016 which conditionally includes missing math functions for Visual Studio older than 2013. log2 and log2f functions have not been included in the fix because there was no name conflict in Qt lib itself, but the problem becomes prominent when trying to link an application simultaneously to libucrt.lib and qt built with -static -static-runtime options. This fix corrects following linking issues: Qt5Qml-static.lib(qv4value.obj) : error LNK2005: _log2 already defined in libucrt.lib(log2d.obj) Qt5Qml-static.lib(qv4dateobject.obj) : error LNK2005: _log2 already defined in libucrt.lib(log2d.obj) Qt5Qml-static.lib(qv4runtime.obj) : error LNK2005: _log2 already defined in libucrt.lib(log2d.obj) Qt5Qml-static.lib(qv4globalobject.obj) : error LNK2005: _log2 already defined in libucrt.lib(log2d.obj) Qt5Qml-static.lib(qv4jsonobject.obj) : error LNK2005: _log2 already defined in libucrt.lib(log2d.obj) This fix has been previously committed to dev branch for review but was recommended to use branch 5.6, same as referenced commit. Change-Id: Iad88d1665c243c4beb91fe71bf5de390cc8ee73e Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * QDoc: fix several typos an minor wording issues in documentationFrederik Schwarzer2016-10-063-4/+4
| | | | | | | | | | Change-Id: Ie8cbcc27e0cbe2b9caa9a1adf24f056dafa203ed Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * focus.qdoc: fix grammar in documentationFrederik Schwarzer2016-10-061-1/+1
| | | | | | | | | | Change-Id: I9b8d0158346e432e44758ae153e9ea02a9513c7e Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * Fix some minor issues in documentationFrederik Schwarzer2016-10-062-6/+6
| | | | | | | | | | Change-Id: I19f1a75b2e1a1096077df7ea109fd70be9d3c759 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | Make tst_qqmlapplicationengine pass when JIT is not availableDmitry Shachnev2016-10-111-1/+1
| | | | | | | | | | | | | | | | | | When the platform does not have JIT, a warning about this is printed into the process stderr, so the test fails. Change-Id: I67c605bd09659c444d0a05f476314e9c7fc2ce6d Reviewed-by: Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | BC data files for QtDeclarative (5.7)Milla Pohjanheimo2016-10-104-0/+56053
| | | | | | | | | | | | | | | | Added the generated data files for the binary compatibility tests for QtDeclarative for Qt 5.7. Change-Id: Iadaf798312e0e59b0c6d48ce31e912994d82ba4e Reviewed-by: Sergio Ahumada <sahumada@texla.cl>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-10-058-13/+70
|\| | | | | | | Change-Id: I081d9b15796b4133d2ba6f1a862f15b873a4846d
| * Use QElapsedTimer instead of QTime to measure elapsed timeMilian Wolff2016-10-051-5/+4
| | | | | | | | | | | | | | | | | | Getting the current time from QTime is expensive as it adheres to the locale timezone. To measure elapsed time in a code block, using the monotonic QElapsedTimer is much faster. Change-Id: Ibea390d7bc5270a20cf35111dfc919e37be7001e Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Canvas: Implement high-DPI render modeMorten Johan Sørvig2016-10-051-2/+10
| | | | | | | | | | | | | | | | | | Scale the canvas image and texture buffer by the target devicePixelRatio. Task-number: QTBUG-37095 Change-Id: Ic432b278caa5c85cf3487d3108967cf3fcd2fa48 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * QML: Clear weak references on Object destruction for C++-owned QObjectsErik Verbruggen2016-10-051-0/+4
| | | | | | | | | | | | | | | | | | | | Otherwise a re-use of the C++-owned QObject will have a back reference to a possibly GCed QV4::QObjectWrapper, which results in exciting behavior. Task-number: QTBUG-46263 Change-Id: Iff0e36f9e67c01abd02cfb5a89605d0f26ddb0de Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * QQuickPositioners: fix sentence structure in apidocFrederik Schwarzer2016-10-041-4/+4
| | | | | | | | | | Change-Id: I14eb860386dfad57ab8cf492cb782970497756b9 Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
| * QQuickRectangle: fix typo in apidocFrederik Schwarzer2016-10-041-1/+1
| | | | | | | | | | Change-Id: Ib026302143df82196fdfd70b9ea9923098adbc7c Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
| * Flickable: add a trackpad (touchpad) autotestShawn Rutledge2016-10-041-0/+45
| | | | | | | | | | | | | | | | | | | | We've had this feature for a long time, to use pixel deltas and scroll phase effectively, but no autotest until now. It's still not very thorough but it's a start. Task-number: QTBUG-55871 Change-Id: Iaf6e7a842ce90828da3253e8673cac9905abd046 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
| * Fix crash on cancel QQuickImageResponseAlbert Astals Cid2016-10-032-1/+2
| | | | | | | | | | | | | | | | | | | | | | We don't need to deleteLater here, we can not be sure that the response won't continue for a bit after this, and it's not even needed since documentation says you need to emit finished in all cases and this will call deleteLater on the response anyway. Task-number: QTBUG-56056 Change-Id: I7cc90620f499beaaaaa61aac77d72d067308838c Reviewed-by: Michael Brasser <michael.brasser@live.com>
* | Doc: add spec on parameter imageNico Vertriest2016-10-041-1/+1
| | | | | | | | | | | | | | | | Error message: Undocumented parameter 'image' in QQuickTextureFactory::textureFactoryForImage() Change-Id: If7cb1e63091c23304b64c5688af0abe55fc37ff4 Reviewed-by: Martin Smith <martin.smith@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-10-0420-93/+54600
|\| | | | | | | Change-Id: I48764527fa1ab6d8d59c24552394459b1cdc58ee
| * Fix vtable for QQuickPaintedItemSimon Hausmann2016-09-302-2/+2
| | | | | | | | | | | | | | | | As mentioned in QTBUG-54404 this is an unfortunate breakage we choose to accept. Change-Id: Id511188a2dcd35e8e16e7651c9764c8be1b5afb1 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
| * BC test data files for Qt 5.6 for QtDeclarativeMilla Pohjanheimo2016-09-304-0/+54475
| | | | | | | | | | | | | | Data files for bic test added for QtDeclarative Change-Id: Id576ca010b9f18a6b8a4c79625375ee4cc3cbf93 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * qv4jsonobject: Make use of QVariant::toString in stringificationRobin Burchell2016-09-303-0/+27
| | | | | | | | | | | | | | | | This covers a whole host of missing cases, notably QUrl stored in a QV4::Value. Task-number: QTBUG-50592 Change-Id: I8afd772046c7bfbbcf916a7e90a57be5257b9df8 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Fix crash with window-less QQuickItemsSimon Hausmann2016-09-3013-93/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Mark QQuickItem visual children directly in QQuickItem instead of relying on the item being a (grand) child of a window. [ChangeLog][QtQuick] Fix crash with QQuickItems created via JavaScript being garbage collected sometimes when they're not assigned to a window. This may happen even in qmlscene when between the creation of the root item and the assignment to the QQuickWindow the garbage collector runs. The previous approach of a persistent in QQuickView marking the visual item hierarchy relies on the existence of a view. The only thing left to do in the view and qml window implementation is enforcing the CppOwnership policy set on the content item in QQuickWindow by ensuring the presence of the JS wrapper, replacing the persistent with a weak value. This also introduces a new internal mechanism for QObject sub-classes to provide their own V4 JS wrapper types. Task-number: QTBUG-39888 Change-Id: Icd45a636a6d4e4528fc19165b13f4e1ca7967087 Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>