-
Notifications
You must be signed in to change notification settings - Fork 188
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Qt 6.2 QJSEngine meyatype converter #8
Open
rjcamatos
wants to merge
6,510
commits into
dev
Choose a base branch
from
6.2
base: dev
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Change-Id: I5a919703ec6a9a55b620f3a02c6f6a28a891e71a Reviewed-by: Qt Submodule Update Bot <[email protected]>
QML Loader creates multiple object of same component during initial loading, if sourceComponent is assigned within state configuration and it evaluates to be true. This happens due to the effect of evaluating stage change (here in this case, setting loader source component) during component completion which internally creates component object and makes loader status be ready, even before Loader instantiates object. This patch adds a guard to check loader status and avoids object creation if status is already ready. Fixes: QTBUG-111559 Change-Id: I6c3456cd3bc35a717c139fbd3670c305304f480a Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Shawn Rutledge <[email protected]> (cherry picked from commit 492dc98) Reviewed-by: Qt Cherry-pick Bot <[email protected]>
Hopefully this reduces flakiness in CI, following the suggestion from the error message: Unable to use getContext() at this time, please wait for available: true Task-number: QTBUG-41043 Change-Id: I3710163cb197170e590f8fd7d188fa62f32ea649 Reviewed-by: Mitch Curtis <[email protected]> (cherry picked from commit 223f1d4) Reviewed-by: Qt Cherry-pick Bot <[email protected]>
Change-Id: I31c18e50e4f5e15fff7cc94d83ad6a94423f56e8 Reviewed-by: Qt Submodule Update Bot <[email protected]>
We need a link target for the GrabTransition enum argument in the PointerHandler::grabChanged QML signal doc, and a few other places. Fix warnings about failing to link in a couple of places. Fixes: QTBUG-102160 Task-number: QTBUG-104761 Change-Id: I92a544d363a6ff9e990c7d56c110bc5db1202bb3 Reviewed-by: Topi Reiniö <[email protected]> (cherry picked from commit e283c05) Reviewed-by: Shawn Rutledge <[email protected]>
People are constantly confused by GesturePolicy and its default value, so we really need a "glanceable" reference in the docs to show the differences between use cases. Also clarify the pitfalls with the default DragThreshold value. We switch from the \value tag to a 2-column \table because the \image would otherwise break the table, and also because it saves space and acts as a meaningful reminder to have the animation right under the enum value that is being documented. Task-number: QTBUG-70397 Task-number: QTBUG-73262 Task-number: QTBUG-100534 Task-number: QTBUG-107239 Task-number: QTBUG-111310 Change-Id: I1ff45f58a8a8edf55f4a8696d881aa9e0bedcfe3 Reviewed-by: Oliver Eftevaag <[email protected]> (cherry picked from commit a6e196c) Reviewed-by: Shawn Rutledge <[email protected]>
Animated gifs were captured with byzanz-record, then converted to webp: gif2webp -lossy -min_size -q 40 -m 6 -mt -metadata none in.gif -o out.webp Fixes: QTBUG-96915 Change-Id: Iee2f4ef774de7862d93c7e4cdf7b2b5e0553bec4 Reviewed-by: Oliver Eftevaag <[email protected]> Reviewed-by: Doris Verria <[email protected]> (cherry picked from commit 0247942) Reviewed-by: Shawn Rutledge <[email protected]>
Many of the inherited docs were inappropriate or insufficiently specific to PointHandler. Now we have more snippets with more ideas for how it can be used. As a drive-by, fix a typo in the docs for PointerDeviceHandler::acceptedPointerTypes and add a link to the new PointerDevice page added in e283c05 Fixes: QTBUG-74020 Fixes: QTBUG-106878 Change-Id: I028e1577ac5d4ef0b927c94259d6ab25b6028885 Reviewed-by: Doris Verria <[email protected]> (cherry picked from commit 4c6d0b2) Reviewed-by: Shawn Rutledge <[email protected]>
Amends outdated stuff from 507efe5 and c248a32. "eventPoint" should now always link to docs added in b43a873. Replace the phrase "event point" with a link to the QML eventPoint value type. QPointingDevice is called PointerDevice in QML, so the GrabTransition enum ought to be found in those docs, in theory, for use in the PointerHandler::grabChanged doc. Task-number: QTBUG-102160 Task-number: QTBUG-104761 Change-Id: I5d1a8dedd9d98e6dee3fbca457aa38f42ea7bfb1 Reviewed-by: Andreas Eliasson <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]> (cherry picked from commit 60ebb04) Reviewed-by: Shawn Rutledge <[email protected]>
We cannot assume anything about the accumulator register after calling PushCallContext::call(). Also add a note about not needing to re-load the accumulator on ThrowException. Fixes: QTBUG-111935 Change-Id: I7196585e1d2697c215f4fe87d8d7ac9b98b622a3 Reviewed-by: <[email protected]> Reviewed-by: Qt CI Bot <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]> (cherry picked from commit 15ec024) Reviewed-by: Qt Cherry-pick Bot <[email protected]>
…droid" This reverts commit 24fedb7. Reason for revert: the test gesturePolicyDragWithinBounds doesn't exist in 6.2 Change-Id: I66859ad52f1864643f86dc4ad54d44c95b3d7a0e Reviewed-by: Ivan Solovev <[email protected]>
Fixes: QTBUG-111577 Change-Id: I7f259c3b710d0be16844d159e3204ee2e51f2a06 Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Sze Howe Koh <[email protected]> (cherry picked from commit f0f274e)
Change-Id: I13e82c0b4883b1758e3679822ee096725c3edd16 Reviewed-by: Qt Submodule Update Bot <[email protected]>
Amends cbbbfe3. Change-Id: If1247a4f2d347f5c8b4993e24b04736db45df80d Reviewed-by: Eskil Abrahamsen Blomfeldt <[email protected]> (cherry picked from commit 18b4a5c) Reviewed-by: Qt Cherry-pick Bot <[email protected]>
Fixes: QTBUG-95807 Change-Id: I0676fdb9bd7e8312d736bf0f4eb6775415d86296 Reviewed-by: Christian Strømme <[email protected]> (cherry picked from commit 3bc05bf) Reviewed-by: Laszlo Agocs <[email protected]>
We generally need to guess value types since there are value types without metaobjects of their own, such as QRectF and QSizeF. However, if they have upper case element names, they are clearly not in that category. Guessing those as value types will make further tools produce follow-up mistakes. Fixes: QTBUG-111986 Change-Id: Ic15ef8c726eb3913c87eb4a300794f321f59fafa Reviewed-by: Fabian Kosmale <[email protected]> (cherry picked from commit c2fd73b) Reviewed-by: Olivier De Cannière <[email protected]>
Change-Id: I805551dbc375fe076563dc13d1f111437cbfca40 Reviewed-by: Qt Submodule Update Bot <[email protected]>
Change-Id: I10b5c28f70d87aafa34490324efb4c2681be5163 Reviewed-by: Qt Submodule Update Bot <[email protected]>
Change-Id: I8dc8ae944d2a6bcd48643cc76aeba1300190db6b Reviewed-by: Qt Submodule Update Bot <[email protected]>
- This started with QTBUG-112322: introduce the border property next to the first snippet where it's used. - Give declarative-scalegrid.png a white background rather than transparent, to be consistent with the screenshots and to look better with a dark documentation style. - Make the snippets resizable so that it's possible to test the effects of the horizontalTileMode and verticalTileMode properties. - Get the borderframe.svg and .png files from the qtdoc repo (which ought to have been in this repo already, but perhaps not). - Resize borderframe.svg to 120x120 and set document size to match (in Inkscape); this makes it possible to use the svg directly in BorderImage, to test that QTBUG-25244 is really fixed. - Make the snippets match the screenshots (all 182px wide, with grey rectangle borders as shown). - It seems our scaling is smoother (less jagged) than in the old screenshots, so the new ones make a better impression. - Add region index labels to snippets and screenshots to be a bit less confusing next to the paragraphs that are talking about "parts of image in regions 2 and 8" and so on. Too bad they have to be so tiny. - Use \value rather than \li for enum values. Amends 1a84b19 Task-number: QTBUG-25244 Fixes: QTBUG-112322 Change-Id: I697ae1356eee62990b7903601cc493a04d3647a2 Reviewed-by: Andreas Eliasson <[email protected]> Reviewed-by: Paul Wicking <[email protected]> (cherry picked from commit b26439b) Reviewed-by: Shawn Rutledge <[email protected]>
Change-Id: Ica8354a53d0a5fb5dd1d8cd5f774dcdc56b6f99a Reviewed-by: Paul Wicking <[email protected]> (cherry picked from commit 2a61510) Reviewed-by: Shawn Rutledge <[email protected]>
roleNames are generally guaranteed to be stable (given that QAIM has no change signal for them), except that resetting the model is allowed to invalidate them. DelegateModel did so far not take this into account. Handle this case correctly by snapshotting the current roleNames before the model is reset. Afterwards, if we detect that roleNames has changed, we throw the current model set up away and rebuild everything from scratch – it is unlikely that a more efficient implementation would be worth it. If we detect no changes, we simply use the existing logic to handle the model reset. Note that some views, e.g. TableView do not use DelegateModel if they detect that the model is a QAIM. They require a conceptually similar fix (but can probaly implement this in a more efficient way). Fixes: QTBUG-32132 Fixes: QTBUG-103220 Change-Id: I6874988cf09b8fe75d2e9750d0bf209915554c45 Reviewed-by: Ulf Hermann <[email protected]> (cherry picked from commit 837c2f1) Reviewed-by: Qt Cherry-pick Bot <[email protected]>
If one assigns a binding whose evaluation results in a QJSValue, care must be take to correctly convert it into a bool. Instead of directly using QVariant::value<bool>, one needs to first extract the QJSValue, and only convert it to bool afterwards. This is necessary due to the custom binding evaluation we're doing to avoid state oscillation. Amends a8c729d. Fixes: QTBUG-105000 Change-Id: I4b093b48edecf9e0f09d2b54d10c2ff527f24ac3 Reviewed-by: Ulf Hermann <[email protected]> (cherry picked from commit 2c31d25) Reviewed-by: Sami Shalayel <[email protected]>
When calling QQmlBinding::evaluate(), we get a generic QVariant back, and no conversions from the evaluation result to bool are done at that point. Consequently, we would need to mirror the engines conversion from arbitrary values to bool. Doing that manually is rather fragile, so we instead use the QMetaType based overload, which already takes care of the conversion. That requires making the overload public. As qmlsc is already using that overload from within evaluate, it was not affected by the bug. Fixes: QTBUG-108024 Change-Id: I3d5ee8f886ea6ada44fc8182300f3472cb1efc3c Reviewed-by: Ulf Hermann <[email protected]> (cherry picked from commit dfdba3b) Reviewed-by: Sami Shalayel <[email protected]>
We need to use QQmlAnyBinding::removeBindingFrom instead of the functionality in QQmlPropertyPrivate, as the latter does not correctly handle QProperty based bindings. Fixes: QTBUG-105535 Change-Id: Ifcd8d3a97ff6d62b365008768e6bf50cfa102a39 Reviewed-by: Ulf Hermann <[email protected]> (cherry picked from commit af5f853) Reviewed-by: Hatem ElKharashy <[email protected]> Reviewed-by: Sami Shalayel <[email protected]>
The logic to decide whether a state change triggered a size change. When AnchorChanges did not remove all old anchors, we might end up with an anchor configuration that changes the size of an item (e.g., anchors.left and right being set), even if the new state only adds a single anchor, e.g. anchors.left. Moreover, we need to pass the correct dirty flags to setDirty, otherwise the UI will not actually reflect the state of the Item. As a driveby, fix an accidental double negation of qt_is_nan for height. Fixes: QTBUG-112354 Fixes: QTBUG-106677 Change-Id: I6c456fbdc314672f4fcbe740d941b44183fd5500 Reviewed-by: Shawn Rutledge <[email protected]> (cherry picked from commit f2c1085) Reviewed-by: Qt CI Bot <[email protected]> Reviewed-by: Sami Shalayel <[email protected]>
Change-Id: I264db45dce614012b7fc49375ccde04d3dbd2c10 Reviewed-by: Tarja Sundqvist <[email protected]>
Change-Id: Ic598d79ebb5e98a156bd7275c382ea19cbbc7837 Reviewed-by: Qt Submodule Update Bot <[email protected]>
Change-Id: I5b02dd01bf6fd8fc1d3bbba1de4012006a5096e0 Reviewed-by: Qt Submodule Update Bot <[email protected]>
Change-Id: I489a99563d5321269e5ccff720d28652acd399ed Reviewed-by: Qt Submodule Update Bot <[email protected]>
Change-Id: Ibfa26f0fe5a7406c86484ed6cd755b3fa0f4797a Reviewed-by: Tarja Sundqvist <[email protected]>
The generated qmldir files that are used by QML engine specify the relative path to the QML plugins that are build within modules. So it's usually expected that plugins are located on the same level as the qmldir files. In Multi-Config builds all libraries are located in the build-specific directories by default. In this case QML engine is unable to locate the plugin and the application cannot be run without extra manual steps. This fixes this issue, by using the top-level plugin OUTPUT_DIRECTORY for the "default"(first) config as RUNTIME/LIBRARY_OUTPUT_DIRECTORY. In Windows platforms we need to make the same for non-static backing libraries, since we cannot rely on RPATH there. Task-number: QTBUG-99061 Change-Id: I51a8864743b87fd6ec4ba7179e13f311c5bee403 Reviewed-by: Joerg Bornemann <[email protected]> (cherry picked from commit 2dbae96) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit 91a25a8) (cherry picked from commit dc1a163) (cherry picked from commit 01b5581)
We rely on QQuickDeliveryAgentPrivate::flushFrameSynchronousEvents() mostly, but it doesn't get invoked without a window update request. So there is a special case when a touchpoint moves _out_ of an item that has a HoverHandler but is not reacting to touch in other ways: we just need to send another artificial hover event for each touchpoint to each hovered item to inform handlers about the new hover position. Fixes: QTBUG-120346 Change-Id: I479362a2663943eb495fe0be418009165c7134bd Reviewed-by: Qt CI Bot <[email protected]> Reviewed-by: Santhosh Kumar <[email protected]> (cherry picked from commit ff4c2c3) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit 7ef31a5) (cherry picked from commit 4a7ff2b) (cherry picked from commit 2e3e3ad) Reviewed-by: Shawn Rutledge <[email protected]>
They can in fact not be combined. Change-Id: Ic01edf9328d7235511f305ed15114360b79d0a36 Reviewed-by: Fabian Kosmale <[email protected]> (cherry picked from commit 5a86636) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit 8bd24a7) (cherry picked from commit f48bc12) (cherry picked from commit 27506c2)
Change-Id: Ib60cb329864eaf99f307b3e838e92aa3a35b20c1 Reviewed-by: Qt Submodule Update Bot <[email protected]>
When analyzing a range with multiple child ranges, qmlprofiler would create a rather random association between the start and end events. Change-Id: I564d2c74656dda1cb0963c75cd7b947a7f86d05e Reviewed-by: Fabian Kosmale <[email protected]> (cherry picked from commit cc761e9) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit 378de2f) (cherry picked from commit 06fc186) (cherry picked from commit 2311fc6)
When an IC was rebuilt, we must not set members that were deleted, otherwise we'll trigger an assertion. Since the nameMap has to match the data we still allocate memory for such members and fill it with undefined. This could be avoided with some deeper refactoring, but a simple solution is to be preferred because this needs to be picked back all the way to 6.2. Fixes: QTBUG-111729 Change-Id: I730d6b4634d989191434225600a08cf0208e72f8 Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Qt CI Bot <[email protected]> (cherry picked from commit 642d531) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit 308f785) (cherry picked from commit f17168e) (cherry picked from commit 912886a) Reviewed-by: Sami Shalayel <[email protected]>
The same object can be the context object of a hierarchy of contexts. So far we would only clear one of them, leaving dangling pointers in the others. Clear all the contexts. Pick-to: 5.15 Fixes: QTBUG-119326 Change-Id: I509f257672813866e3736b51f430f1243a8577f0 Reviewed-by: Qt CI Bot <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]> (cherry picked from commit 27ba69a) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit 833f4f6) (cherry picked from commit 477c3c3) (cherry picked from commit 7318fad)
This used to work and we cannot just take it away. Amends commit 3ea55bf. Fixes: QTBUG-121710 Change-Id: I7f856140286bba9d49b7ed1abfdf398a65fb1962 Reviewed-by: Fabian Kosmale <[email protected]> (cherry picked from commit f3bcbfd) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit ec692b2) (cherry picked from commit 3a8028b) (cherry picked from commit 4448108)
The application could call mlockall(MCL_CURRENT|MCL_FUTURE) to lock all its memory for performance reasons, causing the madvise call to fail. There's no need to crash. Instead, manually zero-out the memory when decommitting. Fixes: QTBUG-120450 Pick-to: 5.15 Change-Id: I6f1a8968853cc5e61561371bd2a435a686eaf0e4 Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Ulf Hermann <[email protected]> (cherry picked from commit 524d260) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit 1ead022) (cherry picked from commit a2e0061) (cherry picked from commit 5c42f57)
Change-Id: Icec80caf92be7d7fa3855be8ddc83c2f872be502 Reviewed-by: Qt Submodule Update Bot <[email protected]>
Fixes: QTBUG-120105 Change-Id: I5d07068a6ed639b461cd3c9e314869a72d13f5b0 Reviewed-by: Andreas Aardal Hanssen <[email protected]> (cherry picked from commit 198a90f) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit b156a1f) (cherry picked from commit 11dcf2d) (cherry picked from commit 5e4b4b0)
Change-Id: Ie744d28a91649a8a3787014d9770befda9852781 Reviewed-by: Qt Submodule Update Bot <[email protected]>
…2-opensource Conflicts solved in a file: dependencies.yaml Change-Id: Ib4083daa41a689b937d2aeb522e93e3aab0be1c4
Change-Id: I3d1714f607771b4ca273f13c57b9b658ca98a145 Reviewed-by: Qt Submodule Update Bot <[email protected]>
* Fix typos. * Show rich text Markdown example. * Be consistent with relative clauses (that vs which). * Where it makes sense, use active voice instead of passive voice. Fixes: QTBUG-119485 Pick-to: 5.15 Change-Id: I7843a3276f277172e25f5891f08e2a830d713c4e Reviewed-by: Shawn Rutledge <[email protected]> (cherry picked from commit ec3b799) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit ce366ee) (cherry picked from commit 1e58c05) (cherry picked from commit 6afbf84)
Change-Id: I6a26eb264407516d587e931ecbf5952945725084 Reviewed-by: Qt Submodule Update Bot <[email protected]>
Change-Id: I7ac3f770d4d74d03a57102c33378229d58284d7c Reviewed-by: Qt Submodule Update Bot <[email protected]>
Employ the new functionality in the baseline framework that facilitates skipping blacklisted items prior to rendering. Useful if rendering certain scenes cause crashes on some platforms. Change-Id: I9f545751bff66eac548fdac8212f0ade4df7b6de Reviewed-by: Paul Olav Tvete <[email protected]> (cherry picked from commit 4ca19ba) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit 22936a7) (cherry picked from commit 0a110f6) (cherry picked from commit ff5abc014903a5746698d870bef2b87b1cd93917)
Change-Id: I2f1a8a6a5c943d41d7ab3587fd02a1fb055fbd18 Reviewed-by: Qt Submodule Update Bot <[email protected]>
…tive Change-Id: Iea77c0713e97dfaf8954134f78a8d07f804ed154 Reviewed-by: Qt Submodule Update Bot <[email protected]>
Qt 6.2.9-lts release Conflicts solved: dependencies.yaml Change-Id: If2cf4ac99b3e70b6a875b00cc4c3e7766b361a08
…tive Change-Id: Ib02444aca85e975eb2487eb71d32542dfe83eefe Reviewed-by: Qt Submodule Update Bot <[email protected]>
Qt 6.2.10-lts release Conflicts solved: dependencies.yaml Change-Id: Ibdf006fa08cddc80ad30fb9ce1089305729d4ece
Santhosh Kumar seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account. You have signed the CLA already but the status is still pending? Let us recheck it. |
…tive Change-Id: I230e4fd3e5e3470ea578ccc0f30446194cb11f59 Reviewed-by: Qt Submodule Update Bot <[email protected]>
Qt 6.2.11-lts release Conflicts solved: dependencies.yaml Change-Id: I088fe99748b323fbdf49c3766c262eb2a05131d9
…tive Change-Id: Ie2f3c5c15c742068f5b5e977ee1ec441e10dac89 Reviewed-by: Qt Submodule Update Bot <[email protected]>
…tive Change-Id: I277de0cc225406ec98a480b16f7db47e09cc0498 Reviewed-by: Qt Submodule Update Bot <[email protected]>
Qt 6.2.12-lts release Conflicts solved: dependencies.yaml Change-Id: Ia7410afbc9d94f061fb13da84b6361428725b530
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
It was Nice to be able to register a meyatype converter and the QJSEngine convert for that object to a data type.
Until now i create a class of QIcon and add and invokable method that returns *this.
Like that i can recive on c++ a QIcon as reference
Is there something that Im missing?
If i create a object in c++ with QJSEngine::toScriptVale of a QIcon it works as well but like that i canto create a new object of that type and if i Change the value it chances for all c++ calls, in JavaScript is nota trivial to clone a object it was Nice to be able to clone it and fonte destroy the Last calls.