| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
git@scm.dev.nokia.troll.no:qt/kinetic into kinetic-declarativeui
Conflicts:
src/declarative/qml/qmlcomponentjs.cpp
src/declarative/qml/qmlcomponentjs_p.h
src/declarative/qml/qmlcomponentjs_p_p.h
|
| |
| |
| |
| | |
Saves about 700KB heap in samegame.
|
|/ |
|
|
|
|
|
|
|
|
|
|
| |
During QML startup, it is common to have "errors" in bindings as the apps
state stabilizes. These are not real errors, but just a consequence of
implementing a declarative UI in an imperative world. Now during startup,
the display of errors is delayed until the startup completes, and then only
bindings that are still in an error state are displayed.
QT-2373
|
|
|
|
|
| |
QmlExpression should not print errors itself. This is the responsibility
of the caller.
|
| |
|
| |
|
|
|
|
|
|
|
| |
Expressions and bindings must not reference data following their
evalutation incase their object has been deleted. To solve this, the
needed data is separated into a reference counted QmlExpressionData
and QmlBindingData object.
|
| |
|
|
|
|
|
|
|
|
|
| |
By splitting the interface through which the system interacts with bindings
away from a specific implementation, we can introduce highly specialized
implementations for specific optimizations.
This commit also includes a sample optimization for object properties being
assigned directly from a local id.
|
| |
|
|
|
|
|
|
| |
While the QSet<> wasn't that expensive, the QmlContext only tracks the
expressions to stop programmers doing something "stupid" so any overhead is
unacceptable. This does give a measurable improvement.
|
|
|
|
|
|
|
|
|
|
|
|
| |
To improve execution performance, binding expressions are rewritten as function
closures inside QmlExpression. To improve startup performance, where possible,
the expressions are rewritten inside the compiler instead of inside
QmlExpression at runtime.
This also has the sideeffect of removing the StoreBinding instruction, as all
bindings are now "compiled". The QmlBinding::expression() method for rewritten
bindings will now return the rewritten expression instead of the original (which
is lost), but this API is internal anyway.
|
|\
| |
| |
| | |
git@scm.dev.nokia.troll.no:qt/kinetic into kinetic-declarativeui
|
| |
| |
| |
| | |
Also, don't convert URL to string each time we call evaluate.
|
|/ |
|
| |
|
| |
|
|
|
|
|
|
| |
Turns out this simple approach doesn't work. Fortunately we have a volunteer to do it properly.
This reverts commit 958dc50e2b0fe2e875a704554438be75907ed3c5.
|
| |
|
|
|