| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
.qmake.conf
src/qml/compiler/qv4codegen.cpp
src/qml/compiler/qv4compileddata_p.h
src/qml/debugger/qqmlprofiler_p.h
src/qml/jsruntime/qv4engine.cpp
src/qml/memory/qv4mm.cpp
src/qml/qml/qqmlcomponent.cpp
src/qml/qml/qqmlobjectcreator.cpp
src/qml/qml/qqmlobjectcreator_p.h
src/qml/types/qqmldelegatemodel.cpp
src/quick/items/qquickitem_p.h
src/quick/items/qquickwindow.cpp
tests/auto/quick/touchmouse/BLACKLIST
tests/benchmarks/qml/holistic/tst_holistic.cpp
Change-Id: I520f349ab4b048dd337d9647113564fc257865c2
|
| |
| |
| |
| |
| |
| |
| | |
It is talking about item() but such a method doesn't exist anymore.
Change-Id: I1935d8b9e88b27a9db1122545a2a82a42d827671
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It is flaky and needs to be fixed.
Task-number: QTBUG-65823
Change-Id: I471754631493eed20400a2a57b7e55c5007e55f7
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
|
| |\
| | |
| | |
| | | |
refs/staging/5.9
|
| | |\
| | | |
| | | |
| | | | |
Change-Id: I2837d46455d8f82f0272b463fdf59a3fcfe53ea3
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
QQuickWidget thinks of itself as a toplevel window, so it cannot process
the offsets in a parent window.
Amends 41293196b4db1aa7a0c616af312875c484639644.
Task-number: QTBUG-65800
Change-Id: I8c5dcb8f44a6cbdb58bcc956d8263e68d8180bec
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The test is unstable.
Also, print the actual numbers if the fuzzyCompare QVERIFYs fail again.
This way we can see better what is going on.
Task-number: QTBUG-65819
Change-Id: I65368300498382f7bfebb25299280aa15e3a56ef
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Task-number: QTBUG-63304
Change-Id: Idfefb246a15166e04c0db0c894a705a7be2ecf67
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Change-Id: Iaf69bf3bc6370aa8d402a3309f6e2337a1af208a
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
After commit c2b4c6393fee37e0c6c4a8c5d40d13120cc8a94e we must also
initialize the set in order to benefit from the improved lookup on the
cache side.
Change-Id: I0f66f118b912ed66a281d16caea67500f9c14046
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Those are better than toString() as they preserve the actual value.
Change-Id: If156b800e48ae9f51f519dadcb75dff4148fc8cb
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |/ /
| | |
| | |
| | |
| | | |
Change-Id: Ic2a98a3a4b4362036222df05a92c0bed633c1d1c
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The common case is that QQmlProperty is constructed on the property of
an object, not a group property. Therefore we should do the
QVector<QStringRef> split on the property name by '.' only if a dot
exists, and can avoid the allocation and deallocation of the vector.
Shaves off ~1.2% off delegates_item_states.qml.
Task-number: QTBUG-65708
Change-Id: Iffbde176e616beec0ae0a47216360558adc793ee
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Every time we decode a potential binding of a PropertyChanges{} object,
we call qmlContext(this) and we go through a full QQmlProperty
construction (which involves property name decoding by dots and property
lookups), just to determine if we're doing a binding on a property or a
signal. QQmlProperty::isSignalProperty() will only return true if the
property is valid and if it's a "function" type. The QQmlProperty
constructor on the other hand only constructs a valid regular property
if it's _not_ a function type and a signal property _has_ to start with
"on" followed by an upper case character. We can copy this shortcut out
into decodeBinding() to avoid the QQmlProperty construction in the
common case of plain property bindings.
This is also legit in the scope of group properties, as signal bindings
on group properties are not supported (we always use the state's target
object for signal lookup, never the group object).
In addition, avoid creating a public QQmlContext for the PropertyChange
object by allowing for the construction of the QQmlProperty object via
the QQmlContextData, as that's the only data structure we really need.
These two changes used to be separate, but they need to go together to
keep the tests passing, as the property validation and warning issuing
is now moved from decodeBinding() into ::actions() itself.
Shaves off 1.5% off delegates_item_states.qml
Task-number: QTBUG-65708
Change-Id: I32a17d815bd3495a907a51068a971eb7cb69c6ef
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: Ibda07de7a83cf9a1434532c485583b8b49b0a605
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This amends 52874a0e6f739ce410c8401e19b0a9ef6d02cabf, to also
fix the quadratic behavior when removing the repeaters item
from their parent.
Change-Id: I24ad7ca4f66a765a5e991846d65803ccf84c2cab
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Reversing the destruction order in ~QQuickItem, and searching from the
back in removeChild() wasn't such a good idea after all, as it breaks
some assumptions people have about removing.
We'll need to find a different solution for the quadratic behaviour coming
from QQuickRepeater::clear().
This reverts parts of commit 52874a0e6f739ce410c8401e19b0a9ef6d02cabf.
Change-Id: I5a6ff9f5ddd9f0f6667142dbcc568b6aba6f8ee9
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This reverts commit ca6b787a01ea289bd5c2a3e4ff3c7442a4ff58fc. This
internal API was added as a workaround for Qt Quick Controls 2. It
is no longer needed now that Qt Quick Controls 2 are using deferred
execution.
Task-number: QTBUG-50992
Change-Id: Iaddf22460f091743e1a68acd16813a28f3e82ecb
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Force the use of a global lookup if we know that the
property can and will be found in the global object.
This is possible, as the global object is frozen in QML
mode and can't be overwritten.
Shaves of .5% on the delegates_item_states benchmark, and
will significantly speed up all accesses to e.g. the Math
object.
Change-Id: Ia1e248781a13ebaeb8bc43652e53a6fdde336d0d
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Many QML items have more than 32 properties, so we ended
up malloc'ing the binding bit table on the heap quite
often. Extending the inline data to be able to accommodate
for up to 64 properties fixes that.
Change-Id: I90a42d601a5406ffacf2506f1957b0c2080bbb7b
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
After commit cae7975a036352ca4bbcf1381a445362f8e01367 the vtable became
part of the internal class, which meant that for allocating the
V4::QmlContext and the QV4::QmlContextWrapper we had one additional IC
transition upon allocation. We can avoid that by providing a default IC
for both types.
Task-number: QTBUG-65708
Change-Id: I22815a24a8389b59103309806f6ac4ca382405f0
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Also, make sure to report all engine's events when stopping one.
Otherwise the timestamps will reset when reporting multiple engines in a
row (such as when stopping the application).
Task-number: QTBUG-65767
Change-Id: I0a6a9170069318dd5b8a7422cb7e248c87d5adce
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
QQmlRepeater::clear() had quadratic complexity in the number
of items, because the items where removed from the back.
Fix this by searching the cache from the back as well
as searching for child items to remove from the back.
Change-Id: I92e491a8abf47cee9d382ef15cd2471f722fa6dd
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The pixmap renderer sets up QPainter's window coordinates system but still
positions the background node in device coordinates. If the window rectangle is
QRect(x, y, w, h) then the background rectangle will be set to QRect(0, 0, w,
h). As the rendering output is clipped to the background rectangle, this means
that the image will be left with transparent bands of x pixels on the right and
y pixels on the bottom.
Task-number: QTBUG-62867
Change-Id: I3b2c18dafda4381b0daa64f849330f51bcc743b2
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In QObjectWrapper::query(), return QV4::Attr_Invalid if the object was
deleted.
Task-number: QTBUG-44153
Change-Id: I53e8be6196489c323b190dbfa20d2dda2a54315e
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Because it doesn't hurt and it makes it easier to use it in
QObjectWrapper::query().
Change-Id: I727ce4b862fa34866513cbb80a221a8a3aeca363
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Remove abs(long) definition, since the #ifdef check no longer works
with QNX7 and QNX < 6.6 is no longer supported.
[ChangeLog][Qml] Enabled ARM64 JIT for QNX7
Change-Id: Ife02f3edb508eddaf15da65954496265366e232d
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
[ChangeLog][Qml] Enabled x86-64 JIT for QNX
Change-Id: I41eeff4c3ff687e096098982614a739af8d697f9
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The block for finding the position for the item *before* needs to be
applied for the case where visibleItems is empty too, so we separate it
out.
Change-Id: I60a7e3a44d01a0087970e37bf4e73b94da5ebd48
Task-number: QTBUG-49218
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
>>> CID 186477: Uninitialized members (UNINIT_CTOR)
>>> Non-static class member "padding" is not initialized in this
Change-Id: I1861a959ec8027b62321885de5d48e6e1df1ccc4
Coverity-Id: 186477
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This adds a test that emojis can be mixed with non-latin scripts
and that ZWJ correctly joins together emojis when applicable.
Task-number: QTBUG-61882
Task-number: QTBUG-65519
Change-Id: I6d52382886c9a0c8f2d07ef56abad49ec2f2798e
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Change-Id: Ib1a3d51a1c22d0ba0992ca98ad1e51658a871b38
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
QML value types generally are Q_GADGETs, but the userType we see there
is the wrapped class's type, which doesn't have to be a gadget. So, the
toString() method was rarely called, and a model index would still crash
the debug service.
Change-Id: I63778953eb9d2fc60113c11057da3047fc75a9bd
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-64115
Change-Id: I0246124a438328c062c37560b1b45c025078c681
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-64798
Change-Id: Id1eb434f83ec89c5ea1ebaa4d8ec86fce9f4428f
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
It seems to have been the case since the beginning (a bug report linked
to from the report referenced here is from 2010), so we should
document it until the opposite becomes true.
Task-number: QTBUG-65011
Change-Id: I9de0836e024df35968c85c7136cec04b6b4a741c
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Previously they were tracked per object sending them. This is not only
too much overhead, but also confusing.
Task-number: QTBUG-65190
Change-Id: I4c374f2c3794a19cd825e8681d189107cef23813
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Currently, QQmlTypeLoader::getType() will assert if passed a relative
URL, because it needs absolute URLs in order to ensure that it can use
them as keys for its cache. After dc6b73390 was merged, URLs like
QUrl::fromLocalFile("main.qml") (which are currently used in examples
of how to load a QQmlComponent) started causing the assertion to fail.
As mentioned in the comments of the bug report, some patches have
already been applied to QQmlComponent's QString-based constructors,
but both the constructors taking a QUrl and loadUrl() itself need
fixing.
This patch puts the fix into loadUrl() (the constructors call this
function) so that every operation
involving URLs is successful when using the documented methods.
Task-number: QTBUG-58837
Change-Id: Ib54ca52eddce6e7781cf96015f4c15af604233d3
Reviewed-by: David Faure <david.faure@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Each test now uses its own QQmlEngine, instead of using a single
instance across all benchmarks. The effect is that peak heap usage
(on macos) is now about 77MB, where it previously peaked at 770MB. This
benchmark would actually crash on some platforms due to excessive
malloc/mmap usage.
Change-Id: I214f7b9b3d8c5565c0578b82c9c144ec87ed0f2b
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
This was broken by 49a11e882059ee1729f776722e085dd21d378c36.
Change-Id: Ic7f261bce5e35b3dbcbdaf0b8718e08c56e55b39
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The code was previously updated to use QQmlRefPointer, so we shouldn't
explicitly addref. This allows more components to be correctly
trimmed when needed.
Change-Id: I15a961cfc456eeab5c791c8a282cc7e2852912cb
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
DropArea.onEntered can reject the drop - this will provide cursor
and color change feedback showing whether dropping is allowed.
Change-Id: I2203cda79cf381bbb71724cdcd6aecd8f001d62d
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There's no need to delete the movie if the same one is being re-assigned.
Also, reorder, rename and clean up the variables. Followup to
bb02a577f0fbf3bd2a273129e6cb57cfc9a338c8
Task-number: QTBUG-62913
Change-Id: I1fc57b411bfbd819b88be20f5933db8c13e9aba0
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I6bda48f5e982d8e93b8d9a604c275bc0cc0434de
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We generally have to pass a URL and a file name everywhere because the
logical URL might be something else than the actual file being loaded.
For example a QQmlFileSelector might modify the URL to be loaded for a
specific file. This resulting URL, however, should not be used to
resolve further URLs defined in the file loaded that way.
As we need to access QQmlTypeLoader::m_url as string more often now,
cache it and avoid frequent translations between QUrl and QString.
Furthermore, QQmlDataBlob's URLs are changed to follow the same
semantics. The finalUrl is the one that should be used to resolve
further URLs, the url is the one used to load the content, and subject
to any redirects or interceptions.
This changes the semantics of URL redirects. Previously a redirected URL
was used as the base URL for furher URL resolution. This doesn't work
because redirection occurs after interception and interception should
not influence the resolution of further URLs. We now use the original
URL as base URL for resolution of further URLs and rely on the server to
redirect those, too.
Task-number: QTBUG-61209
Change-Id: I93822f820bed2515995de3cb118099218b510ca4
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
c4eefa4a added a snippet where an onEscapePressed handler had:
event.accepted = true
which is unnecessary, as the documentation says that handlers for
specific key events set event.accepted to true by default.
Change-Id: I1a40e6e82240a517ba5059a1d5d2217cc7968302
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Some code "resets" a custom context matcher on destruction. As
destruction order of global objects is not defined, that may be after
the context matcher has already been destroyed.
Change-Id: I1d3869cb393c490ddb70b71a2d93578a03e2af79
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
As with 64a01ff5b5d1eaadb1e60013673ac25459b79e14 in qtquickcontrols2,
we ensure that custom scenegraph item animations still run if within
a QQuickWidget.
Change-Id: I3630ee34c039420640000c9a58ed1ec186bbe82c
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The platform handles this through the ShowIsMaximized and
ShowIsFullScreen platform integration style-hints, as well
as QPlatformIntegration::defaultWindowState(), which was
added specifically so that we wouldn't have to hard-code
the behavior in user code.
Change-Id: Ic019ccc2edd871a78bf94fd5fe572b9659416582
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add auto test for shortcuts when render window is used to
draw QQuickShortcut.
Task-number: QTBUG-64548
Change-Id: If2eb1f5618ae5f21477cc239acb42bc73ca7ec99
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|