| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
This reverts commit a8a90519cb35481e96fe8889846bfaa424e13e8a. The
same functionality is now available in a more extensible way via
the program binary support recently added.
Change-Id: I07b1939611a76858e65605ce625da6c4cbca2114
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Commit 5dc7649f5ad7dca6e13707e827d001c3f118a6ef caused this regression,
as a result of lazy binding evaluation and self-referencing objects:
import QtQml 2.0
QtObject {
property QtObject objectRef : subObject
property QtObject blah: QtObject {
id: subObject
property int value: 42
property int blah: objectRef.value
}
}
When blah is evaluated, we now lazily initialize objectRef - as opposed to
previously throwing an exception and then when objectRef gets initialized we
re-evaluate blah due to its dependency. So while evaluating "objectRef.value"
for blah, we initialize objectRef by evaluating "subObject", and after doing
that we write the "objectRef" property. That triggers a change notification,
and since the objectRef reference for blah is a compile-time known dependency,
the change notification triggers a re-evaluation of "blah", which is the
binding loop.
What's wrong here is that we register the pre-defined captures before the
code execution, when we should register them after the evaluation, or strictly
speaking after flushing pending bindings, like it is the case for individual
properties in bindings where we could not pre-determine the depenencies.
Change-Id: I9fb0c7583cba9d9b71c9ada2791fe87574f6ef44
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Stop capturing properties once the expression is deleted. The
following example triggers invalid read/write memcheck errors
when trying to capture propFromParentScope:
Item {
property real testProp: {
if (x == 0) testProp = 7
return propFromParentScope
}
}
Which can eventually lead to a crash.
Task-number: QTBUG-36798
Change-Id: I233de2c81498884df0563e8ce155752845aafcfb
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
| |
Change-Id: Ic5eb5e1955e09884f98975a8ac74b42f00e233d7
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
|
|
|
|
|
| |
Change-Id: Id21386e6dc85bb7e109d9bd03e80f306c0a99733
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Prior to Qt 5.2 tracking of dirty state was automatically handled by
QSGNode. With Qt 5.2 this approach has changed. Moving forward render
state is ideally tracked outside of QSGNode; however, we continue to
provide a way to track it in the node itself, to support custom renderers
and the default node updater.
Change-Id: I78907caee1b64b94a2bae2d8b577210f1955a431
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
|
|
|
|
|
| |
Change-Id: I4eecff3c8a2c727d38d394305d248eddeef87e8e
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
|
|
|
|
|
| |
Task-number: QTBUG-36804
Change-Id: I6bff9360d785bd7496131e3b56a24b11871257fe
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
|
|\
| |
| |
| | |
refs/staging/stable
|
| |\
| | |
| | |
| | | |
Change-Id: I5ac68cc3ad3926190817f0d3d5b4526e70badff6
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Statically initializing QObjects will cause e.g. the main
thread pointer in QCoreApplication to be set when the library
is loading. On Android, this is never the real main thread.
The effect was a warning about QApplication not being initialized
on main thread, and a race condition which sometimes caused
apps to hang on startup.
[ChangeLog][Android] Fixed possible hang on startup for Qt Quick
applications.
Task-number: QTBUG-36426
Change-Id: I7bd8a8f35ef1a2548949978563e3157f8dc854c7
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Viewport is calculated wrong for horizontal layout in a second instance
Task-number: QTBUG-29944
Task-Number: QTBUG-31546
Change-Id: I136ae4484278d14f796613505e3f38c65ec51ebe
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
Reviewed-by: Florian Hänel <florian.haenel@basyskom.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
QML modules that depend on C++ plugins must provide
the plugin class name information in their qmldir
to support statically built Qt Quick applications.
Task-number: QTBUG-35369
Change-Id: I15432fec4f8a72be4f851da061ac0c091696d8c9
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Rectangle is currently the only item that supports gradients, but other
items have been introduced (within Qt Quick Enterprise Controls) which
need QQuickGradient => QLinearGradient conversion, and it doesn't make
sense to duplicate the gradient stop conversion code.
The QQuickGradient and QQuickGradientStop classes need to be privately
exported so that modules that use private Qt API can use the classes
with quick-private.
Change-Id: I8b130ff5384d9481d3f29510b3de61f7d8f775e2
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Using Window { Keys.onPressed: ... } does not work because window is not
a QQuickItem. Warn at least.
Change-Id: Ibd472f7b551ff2089cbc39ba43da27e6f8e0e97f
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
Reviewed-by: Caroline Chao <caroline.chao@digia.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
|
| |
| |
| |
| |
| | |
Change-Id: I026ce85a6e593d5eccecdf032ee2f0763a2bef87
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Reversed (BottomToTop and RightToLeft) item views would report an
impossible positive value for origin when contentHeight < height. The
correct value will be effectively equivalent to the position of the
footer, and always negative.
Match other logic using lastPosition() by negating its value for
reversed views.
This fixes a bug with content disappearing in a Controls ScrollView on
a BottomToTop view.
Change-Id: Ieedbb64ce8fc7c0fb36e5256e437ddeb3e757761
Reviewed-by: Martin Jones <martin.jones@jollamobile.com>
|
| |
| |
| |
| |
| | |
Change-Id: I0928737f1651fa98213a84dc4f8b5225d5239502
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Don't crash when an exception is thrown in a JS slot but we don't have
a Qml engine.
Change-Id: I1530d5c1c8cb9b9b33b9fdd0d45639fd4a0516f7
Reviewed-by: Karsten Heimrich <karsten.heimrich@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| |
| |
| |
| |
| |
| |
| | |
Added documentation for ImperialUSSystem and ImperialUKSystem.
Change-Id: I1a628121dce4a7566bd8769843c487e28f3dd6fe
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Without this change, it is not possible to implement a custom renderer
(it has no way to compile or initialize material shaders).
Change-Id: Ie8778f739f3551f88f0d44ccb9769063a87ff276
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
examples/quick/customitems contains all the examples found in
examples/quick/ui-components, plus 2 more (maskedmousearea and
painteditem). There are some very minor differences between the
duplicated files, regarding the "smooth" property. Apart from that, the
examples are identical.
The only file that is unique to examples/quick/ui-components is
example-slideswitch.qdoc. Moving it does not change the generated HTML
filename. The other examples do not produce any documentation.
Change-Id: I507d9064a60fd1f3a1469c1e423d4c0a72c7dc41
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Transform, material, opacity and geometry changes all used to trigger
full rebuilds, which meant that very little geometry could be retained
between frames. For instance, a rotating spinner on top of a gridview
this would cause a full rebuild where nothing is retained.
This change introduces new concept to the renderer: partial rebuilding
based on render order ranges. Since the render order of nodes is
strictly defined by their position in the tree and nothing else, we
should use that for the majority of rebuilds. When a change comes in
for a node, we invalidate its batch and all batches which it has
overlapping render orders with.
Render order rebuilds only happen when nodes are added and removed.
Change-Id: Ib4cb284164892b409e3fff5c492a54d60a5de2d7
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
CallContext::locals was not at multiple of 8, which caused
an alignment exception on ARM. Size for the context is
also increased.
Change-Id: I136418f89945cd3fec74463659107c6dab7cad0a
Reviewed-by: aavit <eirik.aavitsland@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| |
| |
| |
| |
| | |
Change-Id: I5b77f7590c9f2cea9305014b8a9d4ab3a387eaa3
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Commit 04774bb14c81688f86a2b31b8624bde8ebf59062 long time ago introduced the
concept of fixed order binding initialization with lazy evaluation, where a bit
is reserved for each binding that indicates whether it's been initialized the
first time or not. When reading a property on a QObject, we'd check if the
corresponding binding for the property has been initialized or not and flush
(i.e. execute) the binding if necessary.
As part of the V4/V8 clean-up, commit 1eb41200948ab414f1c47d93123b41c547a993df
removed the StoreV8Binding instruction, which made the call for setting the
this-binding-is-not-evaluated-yet bit. Nowadays we only use StoreBinding, for
which this optimization was never implemented (and not needed really). Now that
we have a unified JS code path, we need to set the pending binding bit and also
make sure that we call flushPendingBinding for any JS side property access
(accelerated or not).
Also flushPendingBindingImpl had two bugs:
* In an attempt of trying to find the binding to flush, it could happen that
we'd try to flush a previously destroyed binding (m_mePtr is null), so
the b variable would remain the first binding in the object and we'd flush
the wrong one (instead of none). Added a missing check to verify that the
property index matches.
* Also resetting the mePtr must be done through clear(), to ensure that the
pointer in bindValues in the VME is also cleared, to avoid re-enabling the
same binding again in complete();
Task-number: QTBUG-36441
Change-Id: Icdb0c8fb036051fd5d6c4d33b10cd0c0ed9a9d5c
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| |
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-36197
Change-Id: I5545c36a1ce9ea6c2451c92e0e79f65e5ab26c68
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Without this change, it is not possible to implement a custom context
without also implementing a renderloop.
Change-Id: Iac2aa732251cdf7221b28f665394cdd336a3d846
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This reverts commit 8e0c5b59f57b51a0dc80d3d8274202776c6e03df.
This test doesn't fail any more.
Task-number: QTBUG-23976
Change-Id: I77704e7811c4c335cb5836ba7645a8804c13e12d
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When a register is needed for an interval, but none is available, one
of the used registers will be chosen and spilled to the stack (meaning
it will be split) before the current position. However, if a register
is used at the current position for an incoming parameter, its interval
has to be split after the current position. This patch adds/fixes the
latter case.
This fixes crypto.js on x86. The specific problem there was that the
result of an operation needed a register, and chose the one from one
of the incoming parameters (which then should get spilled/split).
However, this interval was already split, and started exactly at that
the current position. So splitting before the current position did
nothing, resulting in it staying alive and using the same register as
the result. So any subsequent use of would have the invalid value.
Task-number: QTBUG-36430
Change-Id: I228fc210b009aa0b16b08a374fc955fabfbb6d12
Reviewed-by: Albert Astals Cid <albert.astals@canonical.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When a life-time interval is split from another interval, it has to come
before an interval that starts at the same position but is not split.
This also means that a means that the all ranges in a split interval
are uses, which is important for allocation: all incoming parameters for
an operation need to be allocated before allocating a register for the
result as the result will only start its life "at the end" of the
operation.
This patch fixes a problem register allocation is done in a function
where register pressure is high (e.g. on platforms that have few
registers to start with). Specifically, crypto.js on x86 triggered it.
Change-Id: Iee3e5d82a887b8de573dfc23513844143d0c8073
Reviewed-by: Albert Astals Cid <albert.astals@canonical.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
On linux/x86, ebx is used to store the global offset table. When using
this register for temporary values, we have to save it at the entry of
a generated function, and restore it before doing calls and at the end.
Task-number: QTBUG-36289
Change-Id: I30194be3ce44f58b793ee52f6201906bcb68d46a
Reviewed-by: Albert Astals Cid <albert.astals@canonical.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Unregister for geometry changes before reparenting, as
reparenting may trigger those changes.
Task-number: QTBUG-36481
Change-Id: Ia94f1f88880b232dd583b7e63e5da73fb338f7c6
Reviewed-by: Martin Jones <martin.jones@jollamobile.com>
|
| |
| |
| |
| |
| |
| | |
Change-Id: Id1edc073db349cfc7e4b5a9dca045760016ebacf
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It's easy to miss the maximum bound specified by either
the font.pointSize or font.pixelSize properties.
Task-number: QTBUG-30005
Change-Id: If1dadebd6673f0e945a1ca95b64521f27d30f5a9
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
s_instance is created with new and never deleted which causes several
destructors to never be called.
Task-number: QTBUG-35731
Change-Id: Icccb19186958f8bb74c5fd2b4b41165255debc46
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Wrapped sequence types should cause putIndexed() method to be called
when Array.push() is used.
Fix suggested by Simon Hausmann.
[ChangeLog][QtQml] Fix JavaScript Array.push() not working on
QStringList properties.
Task-number: QTBUG-36491
Change-Id: Id04409dd7466a943d8ea8d57cd0514e8de732480
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This reverts commit 08582091059d8ba805487eae5277bc9abdc3d4de.
Task-number: QTBUG-35344
Conflicts:
tests/auto/auto.pro
Change-Id: I9babc27c4c37900dd6603bd603e6bcf9e7f3d61f
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Liang Qi <liang.qi@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This reverts commit 8ed38c70fd29680f7981d9d23581d46cf32139d0.
Task-number: QTBUG-35344
Conflicts:
tests/auto/auto.pro
tests/auto/qml/debugger/debugger.pro
Change-Id: I57bec5d7ede879e24ba2b0618333b4e4110c41df
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Liang Qi <liang.qi@digia.com>
|
| |
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-31328
Change-Id: Ic87e9b4db09242b49f104a8f38e4e420c62db75c
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Martin Jones <martin.jones@jollamobile.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Listen to positioner geometry changes when the _effective_ layout
direction is RTL.
Task-number: QTBUG-35095
Change-Id: If06955c6bb04e5bed2126b05489229278c192173
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
tst_qquickanimations::pathInterpolatorBackwardJump() keeps constantly
failing in the CI on Windows MinGW builds.
Task-number: QTBUG-29062
Change-Id: I69511f8a45e98061ceb9a0f6782cc57940af3ce4
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| |
| |
| |
| |
| | |
Change-Id: I7a6cc8ddb4cb4559498b74839bde57d12a3d68fd
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This reverts commit cc811f77fc4f48fb696784f0a51042bb736d7071.
GUI tests were temporarily disabled on Mac in 8ed38c7 and cc811f7 meant
to re-enable them, but in fact removed the GUI tests on every platform.
There is still plenty of instability in the tests, so we will first
restore GUI tests on non-Mac platforms, and then we'll try to properly
re-enable them on Mac, step by step.
Change-Id: Ic8ac32386cc9e7c5ea3172751d74138e30fa0fdf
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The stdlib of the upcoming QNX 6.6 has this abs overload,
so check for the version when redefining it.
Change-Id: Ib5650226c65417b42d8d7a79fac7ca53d3f315f1
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Bernd Weimer <bweimer@blackberry.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
|
| |
| |
| |
| |
| | |
Change-Id: I06314f0a3a7cf86e5e627c307a522069cf640f78
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Never usee addressForArgument when arguments are passed
in registers, as it points into the callers stack frame.
The address was used as a temporary location when encoding
a unsigned return value. The code has now been rewritten to
only use registers instead.
Change-Id: Id85b668a5a74dbd6c41621a9672e53a1cb5f242b
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|\ \
| | |
| | |
| | | |
refs/staging/stable
|
| |\|
| | |
| | |
| | | |
Change-Id: I4b0f2d63aff78b50656a519c088afc4a076747f7
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I6e8d2dbf129092c53331c639a767ca4955212f77
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|