Lars Knoll [Fri, 7 Feb 2014 14:13:17 +0000 (15:13 +0100)]
Remove unused text stream
Change-Id: I23a1f5f2c6f782fab315db4725412a9473178b70
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Lars Knoll [Fri, 7 Feb 2014 13:55:47 +0000 (14:55 +0100)]
Remove some code duplication
Change-Id: If336731a49bcb5e1812d50a39cb97e263f23b183
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Lars Knoll [Fri, 7 Feb 2014 13:40:10 +0000 (14:40 +0100)]
Cleanup: Pass the function into the various SSA stages
Pass in the function object instead of the variablesCanEscape
flag. Cleans up the code a bit.
Change-Id: If2d24b30fb223fa03e27f75f40ad42b881b2b3a0
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Lars Knoll [Fri, 7 Feb 2014 08:46:02 +0000 (09:46 +0100)]
Simplify some runtime code
Simpler code and delivers the same performance.
Change-Id: Ifd0398f0c123f4c21998f518574cf74cd7cf7e09
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Jan Arve Saether [Thu, 20 Feb 2014 18:46:41 +0000 (19:46 +0100)]
Update QQuickTextInput's baselineOffset when only height changes
Task-number: QTBUG-36529
Change-Id: I2cd577013c4965e76c9350abaebb9b7a6e4e0270
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
J-P Nurmi [Thu, 20 Feb 2014 17:03:10 +0000 (18:03 +0100)]
QQuickTimeLine: add missing time checks
The same check is done in QQuickTimeLine::pause(), move() and moveBy(),
where the time is passed as an argument. QQuickTimeLine::accel() and
accelDistance() calculate the time based on velocity and acceleration
or distance. With tiny values this calculation can result to a negative
time due to integer overflow.
Task-number: QTBUG-35046
Change-Id: I000e73d3f787375946e8f87a5d24153ae919bc8d
Reviewed-by: Michael Brasser <michael.brasser@live.com>
Oswald Buddenhagen [Tue, 18 Feb 2014 13:39:23 +0000 (14:39 +0100)]
the qmlextensionplugins example and a bunch of reference examples need QtQuick
Task-number: QTBUG-36893
Change-Id: If1f937113b651fd2255f8004739f2c601e3826bf
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Oswald Buddenhagen [Tue, 18 Feb 2014 13:38:43 +0000 (14:38 +0100)]
the shell example and a bunch of reference examples need no QtGui
Task-number: QTBUG-36893
Change-Id: I51e402c90bd727cd3066788e0864e887ab8cb9e4
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Laszlo Agocs [Wed, 19 Feb 2014 12:56:41 +0000 (13:56 +0100)]
Add touch and wheel events to QQuickWidget
Change-Id: Idb444cbc62491469230c5a1f624d71cf20bce492
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
Laszlo Agocs [Thu, 20 Feb 2014 15:14:45 +0000 (16:14 +0100)]
Add an error signal to QQuickWindow
When nothing is connected to this signal, an error will be printed or,
in case of Windows, a message box will be shown. If there is something
connected, it is up to the application to handle the error.
[ChangeLog] Added a new sceneGraphError() signal to QQuickWindow
which applications can use to detect errors like OpenGL context creation
failures and react in their own custom ways.
Task-number: QTBUG-36138
Change-Id: I33b1e5e0e3f25872af67c5bb5ae937e3470b25f3
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Laszlo Agocs [Fri, 21 Feb 2014 12:04:57 +0000 (13:04 +0100)]
Fix missing depth and stencil buffer in QQuickWidget
Change-Id: I34f2015d63d3052b401a82bb4ac7340af94dca8c
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
Laszlo Agocs [Wed, 19 Feb 2014 12:31:51 +0000 (13:31 +0100)]
Avoid extra platformwindows with QQuickWidget
QQuickWidget is nice but does not work on platforms like eglfs
because it always creates a (hidden) platform window for the
QQuickWindow.
This is now fixed by avoiding calling create() on the window and
using the toplevel window of the QQuickWidget instead.
Change-Id: Ia552f7a16d8b913fb798fde04b9304c6d037a46c
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
Björn Breitmeyer [Wed, 19 Feb 2014 10:36:28 +0000 (11:36 +0100)]
Don't use Vertexarrays
If custom Glcode is used and a buffer is not unbound
the drawcall will take the bound buffer over the
vertex array, so its a bad idea to use them, besides
the fact that in core profile buffers should be used.
Change-Id: I4107d85b664a0c67207652ae34c2569572fa6a8b
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
Gunnar Sletta [Tue, 18 Feb 2014 18:54:32 +0000 (19:54 +0100)]
Make sure we update filtering options on atlas textures.
We had had an optimization which tried to reduce state changes,
but filtering is also changed in QSGTexture::updateBindOptions
which Atlas::bind() didn't know anything about. Solution: don't
try to be so clever.
Task-number: QTBUG-35457
Change-Id: I39ac0106396921e1b652db2b2aa5a9923b35e825
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Gunnar Sletta [Wed, 19 Feb 2014 20:38:17 +0000 (21:38 +0100)]
Prevent dangling pointer in QQuickShaderEffectSource.
Task-number: QTBUG-36931
Change-Id: Idb584a8703a8d93d2cbcd3feb7942476dc165a59
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
J-P Nurmi [Wed, 19 Feb 2014 15:35:15 +0000 (16:35 +0100)]
Fix item polishing
After "Dont call updatePolish if an item is not visible" (
439f31f) and
"Fix polishItems bug" (
01e609e), desktop style animations for QtQuick
Controls were no longer running. This was because QQuickItem::polish()
no longer polished a _visible_ item when there were other _hidden_
items in the queue to be polished.
This change restores the old logic that QQuickWindow only keeps track
of visible items to be polished, whilst the idea of hidden items not
being polished still remains valid. QQuickItem is made responsible
for polishing itself if necessary when it becomes visible.
Task-number: QTBUG-36934
Change-Id: I4d48d3a3e2c841d337cd52ec4fd27092f84a8626
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
Ulf Hermann [Thu, 20 Feb 2014 15:13:10 +0000 (16:13 +0100)]
Update QQmlAbstractProfilerAdapter documentation.
Change-Id: I11cce4e3494eb2eb06fa781a676cccf5eb2127a8
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Laszlo Agocs [Wed, 19 Feb 2014 13:10:20 +0000 (14:10 +0100)]
Update QQuickWidget docs and changelog
Change-Id: I853295f31cf9367a8e11157c9ef0764174c614cf
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
Laszlo Agocs [Wed, 19 Feb 2014 11:20:20 +0000 (12:20 +0100)]
Add a signal for syncing external animation systems
[ChangeLog] QQuickWindow will now emit the afterAnimating() signal
from the gui thread before each scenegraph sync request.
Change-Id: I4897c82f75066238e781455d4fce4fb6bbe2558e
Reviewed-by: Pasi Keränen <pasi.keranen@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
J-P Nurmi [Tue, 18 Feb 2014 14:30:29 +0000 (15:30 +0100)]
Fix ListModel::setProperty() to accept date roles
Task-number: QTBUG-33564
Change-Id: Ifbc1c5014d41b26223c57fafdc616e9b4ddee5b8
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Paul Olav Tvete [Tue, 18 Feb 2014 11:15:30 +0000 (12:15 +0100)]
QQuickWidget example
Change-Id: I4211900ef6a04443bde0c95d074a4a29951b43b0
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Volker Krause [Wed, 19 Feb 2014 12:57:12 +0000 (13:57 +0100)]
Optimize QQuickItemParticle::prepareNextFrame().
This moves one hash lookup out of the inner loop, and most importantly
avoids detaching both the particle group hash and the particle data vector
on every iteration of the inner loop.
Change-Id: If9a127b347367ac9dc1e8ee738ff914784adb896
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Michael Brasser [Mon, 10 Feb 2014 16:16:08 +0000 (10:16 -0600)]
Ensure Behavior stops animating when a new value is set while disabled.
Otherwise the Behavior could cause the property value to end up in an
unwanted and inconsistent state. For example, in the following case:
x: myXValue
Behavior on x { NumberAnimation {} }
x could end up *not equal* to myXValue if myXValue was changed while
the Behavior was still animating but currently disabled.
Change-Id: I3826fdc3f48b2722e778638b116546db7e831e87
Reviewed-by: Martin Jones <martin.jones@jollamobile.com>
Michael Brasser [Thu, 13 Feb 2014 05:31:22 +0000 (23:31 -0600)]
Make SmoothedAnimation and SpringAnimation smoothly transition again.
Fix regression introduced in Qt 5.0 when animation backend was
rewritten.
Task-number: QTBUG-36709
Change-Id: Ib8caa4bc6a38e3bb4c1d1d3961f775fdd2b342c7
Reviewed-by: Martin Jones <martin.jones@jollamobile.com>
Tor Arne Vestbø [Wed, 12 Feb 2014 16:40:53 +0000 (17:40 +0100)]
Update glyph cache type/format logic to match qtbase changes
https://codereview.qt-project.org/#change,77791 unified the glyph format
between QFontEngine and QFontEngineGlyphCache.
Now that we're up to date with qtbase, we can unpin the dependency.
Change-Id: Ibcafccb741ce94b454ff7c469804f44fef7fe06f
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Gunnar Sletta [Tue, 18 Feb 2014 17:47:03 +0000 (18:47 +0100)]
Do not add Images with invalid geometry to the scene graph.
Task-number: QTBUG-35656
Task-number: QTBUG-36050
Change-Id: Iea2d5303bdeb9c523e59ebcdc9f97288060be022
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Arthur Mello [Wed, 19 Feb 2014 12:37:15 +0000 (09:37 -0300)]
Guarantee event's default state as not accepted
Before starting the evaluation of the event to check if it should be
accepted or not, set the state of the wheelEvent to not accepted. That
way, if the event is not accepted it will be propagated to others
elements.
Change-Id: I13a71db8e26c888adc03f1bfd3e46480d3b22b6f
Task-number: QTBUG-36774
Reviewed-by: Gustavo Pichorim Boiko <gustavo.boiko@canonical.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Tor Arne Vestbø [Wed, 19 Feb 2014 12:48:55 +0000 (13:48 +0100)]
Pin qtbase to merge from dev while we integrate glyph cache changes
Change-Id: I4ab46977ec0f137e2bb5a41c67dc09ee962a8b82
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Simon Hausmann [Tue, 18 Feb 2014 09:02:27 +0000 (10:02 +0100)]
Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev
Simon Hausmann [Wed, 12 Feb 2014 14:28:36 +0000 (15:28 +0100)]
[new compiler] Report errors at type compile time for invalid group property access
Change-Id: I36a945dd4e4c0e699a2b34af066eae4d4c73a588
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Simon Hausmann [Mon, 10 Feb 2014 20:15:41 +0000 (21:15 +0100)]
[new compiler] Fix error reporting null object group property access
The new code path reported line and column, the latter was missing from the old
code path and is easily added.
Change-Id: I730e56f0fe4e99091dfb10e5f601faf1d3b8949c
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Simon Hausmann [Tue, 18 Feb 2014 08:58:57 +0000 (09:58 +0100)]
Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
src/qml/jsruntime/qv4functionobject.cpp
src/quick/scenegraph/coreapi/qsgbatchrenderer_p.h
Change-Id: Id164f6c3b45501aa466908659ec4e3b957323753
Tor Arne Vestbø [Mon, 17 Feb 2014 15:43:43 +0000 (16:43 +0100)]
Unpin qtbase in preperation for merge to stable
Change-Id: I833937c85269dfaca7f28fd06c3f55729037b800
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Ulf Hermann [Mon, 17 Feb 2014 11:28:57 +0000 (12:28 +0100)]
Properly export QQuickProfiler
We want to access the profiler from quickwidgets as well as from quick
itself. Also, use better syntax for includes in qquickprofiler_p.h
Change-Id: Ifee04bae84521e8f028e7e2d272824449338b88a
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
Lars Knoll [Wed, 18 Dec 2013 11:24:56 +0000 (12:24 +0100)]
Introducing QQuickWidget
Renders into an FBO, and provides a texture that is
composed by the QPA/widget kernel compositor.
Also introducing QQuickRenderControl, which is private
API for now.
Change-Id: I710c16e1506124a17f91e87344496471803a448b
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
Simon Hausmann [Mon, 17 Feb 2014 12:58:21 +0000 (13:58 +0100)]
Update pin of qtbase so that the qtquickcontrols revdep builds
Change-Id: I3dbbad674be889ec6ca0c2ec66e2c995c5b0839b
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Erik Verbruggen [Fri, 31 Jan 2014 11:51:00 +0000 (12:51 +0100)]
V4 JIT: enable register allocator on Linux/ARM.
Change-Id: Ieab86edebcc265063904e78c8c8d0014ace64199
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Erik Verbruggen [Fri, 31 Jan 2014 11:30:13 +0000 (12:30 +0100)]
V4 JIT: move registers for regalloc out of method.
This is a clean-up: by moving the description of the registers available
for allocation out of the run method, the method gets easier to read,
and the lists are easier to extend when adding more platforms.
Change-Id: I840a15cda0e02488b7e038aa23cedd23508ed736
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Erik Verbruggen [Fri, 31 Jan 2014 15:10:17 +0000 (16:10 +0100)]
V4 ARM JIT: make CONFIG+=disassembler work on ARM.
Change-Id: I164813c8939849e63103c447a7f64699003d00da
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Simon Hausmann [Mon, 10 Feb 2014 20:08:01 +0000 (21:08 +0100)]
[new compiler] Fix reported error location for unknown type assignments
Change-Id: Ib564002f790921d4e233bb56d1a6ff6ef6aa6c2b
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Simon Hausmann [Mon, 10 Feb 2014 20:06:21 +0000 (21:06 +0100)]
[new compiler] Compile time check for objects assigned to script strings
Change-Id: I873bded73a0d2210910c496312fb3b7b04e4a65f
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Simon Hausmann [Mon, 10 Feb 2014 20:00:49 +0000 (21:00 +0100)]
[new compiler] Fix location of id property in error messages
Change-Id: If7cde17acb1dd63a51e2e31415533a21302d8b41
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Simon Hausmann [Mon, 10 Feb 2014 19:55:20 +0000 (20:55 +0100)]
[new compiler] Implement compile time error handling for lists
Change-Id: Ic26e8a01995c296ab9cd4deb8714a5cf17cfdf2b
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Simon Hausmann [Mon, 10 Feb 2014 19:19:20 +0000 (20:19 +0100)]
[new compiler] Match class and file name
QmlObjectCreator -> QQmlObjectCreator
Change-Id: I23da2d9c7fa0dcd760f5cc695c1759b44d1e72f0
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Simon Hausmann [Mon, 10 Feb 2014 19:12:18 +0000 (20:12 +0100)]
[new compiler] Cleanup object creator members
Collect variables shared across recursive instances in a SharedData
structure, get rid of some other members.
Change-Id: I8d52fbb34820ce17d754b91c3fdee9e534a95753
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Simon Hausmann [Mon, 10 Feb 2014 08:06:07 +0000 (09:06 +0100)]
[new compiler] Fix test with aggressive gc
We need a scope object protector right after creating the JS wrapper,
which is right after creating the VME meta object.
Change-Id: I76668027486a44bab35a3193b4c1c6fbab5c3e0e
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Simon Hausmann [Fri, 14 Feb 2014 15:35:12 +0000 (16:35 +0100)]
Reduce memory usage for object literals with integral keys
Be more aggressive about using sparse arrays for object literals than for
regular array handling, to reduce the memory usage in this use case. The
current heuristic is that indices over 0x1000 switch to sparse, which means a
simple { "3000" : "test" } creates a long vector instead of a sparse array.
Task-number: QTBUG-36803
Change-Id: Id05c76f0f597cd016114cd27ec54effbebe26e48
Reviewed-by: Michael Brasser <michael.brasser@live.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Simon Hausmann [Fri, 14 Feb 2014 13:18:01 +0000 (14:18 +0100)]
Fix spurious binding loop errors in QtQuick Controls and other places
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>
Simon Hausmann [Thu, 13 Feb 2014 18:46:01 +0000 (19:46 +0100)]
Prospective iOS build fix for tst_qqmlmoduleplugin
Include unistd.h for _PC_CASE_SENSITIVE
Change-Id: I0c57d7d84fa4c7379502dbf95fd22476724d5fa3
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Simon Hausmann [Thu, 13 Feb 2014 18:43:55 +0000 (19:43 +0100)]
iOS build fix for qmlplugindump
Do the docker startup thing only for Mac OS X, i.e. using the macx
scope in the .pro file, not mac.
Change-Id: I06266ace2ae0f8a3685b26983a7b2cd5815e3e99
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Simon Hausmann [Thu, 13 Feb 2014 16:36:37 +0000 (17:36 +0100)]
Prospective build fix in the CI system for iOS
Tools contains the import scanner, which is needed by examples.
Change-Id: Ib32338b4b32bf6dd7f1f4a7a2cd5af14ef7eec7a
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Gunnar Sletta [Wed, 12 Feb 2014 14:37:48 +0000 (15:37 +0100)]
Avoid Nearest mipmap filtering for BorderImage.
QSGOpaqueTextureMaterial has Nearest as the default mipmap
filtering, which BorderImage inherited. That default value is
not ideal, but I would prefer to not change behavior, so
request None from borderimage instead.
Change-Id: I9857f1434ae9f067c3b0e460ea552d3e854b9d64
Reviewed-by: aavit <eirik.aavitsland@digia.com>
Thiago Macieira [Fri, 14 Feb 2014 22:31:23 +0000 (14:31 -0800)]
Reapply
612785f39e325b0578be89e09b0e32d7d08d471e fixing GCC warnings
See
612785f39e325b0578be89e09b0e32d7d08d471e for details. The warning is
exactly the same as before, with the exact same solution as before.
Change-Id: I2f6cbc64234696f1d240611f376ab5daf8d0f89c
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Ulf Hermann [Fri, 24 Jan 2014 11:44:49 +0000 (12:44 +0100)]
Add dedicated QML profiler and adapter
The remaining "profiling" parts of the QML profiler service are
engine specific and are best accessed through their own adapter.
Change-Id: Idb763104bdd80e4dabdf132ec1a496b9bc9f6f46
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Ulf Hermann [Fri, 24 Jan 2014 12:24:19 +0000 (13:24 +0100)]
Move QtQuick profiling to own profiler adapter
The QtQuick parts of the QML profiler service thus become a proper
global profiler which can be independently enabled and disabled.
Change-Id: Ifad03801cab2be66a264fc46fdebdae582fcc99b
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Tor Arne Vestbø [Wed, 12 Feb 2014 16:24:15 +0000 (17:24 +0100)]
Pin qtbase version so we can integrate glyph format changes
Will be unpined along with an update that matches the changes in
https://codereview.qt-project.org/#change,77791
Change-Id: I5b9572d21e2cca8dc0078eb0079f6d42af6dd6d4
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Michael Brasser [Tue, 11 Feb 2014 22:33:33 +0000 (16:33 -0600)]
Fix crash when the currently running binding is deleted.
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>
Michael Brasser [Tue, 11 Feb 2014 20:55:58 +0000 (14:55 -0600)]
Ensure m_opacityChange is cleared at the beginning of each frame.
Change-Id: Ic5eb5e1955e09884f98975a8ac74b42f00e233d7
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
Michael Brasser [Tue, 11 Feb 2014 14:52:06 +0000 (08:52 -0600)]
Update scenegraph docs to be in line with Qt 5.2 behavior changes.
Change-Id: Id21386e6dc85bb7e109d9bd03e80f306c0a99733
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
Michael Brasser [Tue, 11 Feb 2014 14:41:36 +0000 (08:41 -0600)]
Provide scenegraph backend API for marking scenegraph nodes dirty.
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>
Fabian Bumberger [Wed, 29 Jan 2014 13:11:51 +0000 (14:11 +0100)]
Fix polishItems bug
updatePolish is not called for items which are not visible.
However if a polish is scheduled, updatePolish has to be called when the item
becomes eventually visible.
This patch makes sure, that invisible items are not removed from the itemsToPolish list.
Change-Id: I1ad929dc6de8e61edbd1c4df88ae5bc951979ff1
Reviewed-by: Ulf Hermann <ulf.hermann@digia.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Erik Verbruggen [Mon, 3 Feb 2014 15:30:50 +0000 (16:30 +0100)]
V4: Do not reverse-propagate int32 conversion through unary minus.
Conversion to int32 might truncate, and because int32 is two's
complement, INT_MIN might get converted incorrectly.
Change-Id: Iaf893d3bd619f4c5791654e609f96cffca5c6917
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Erik Verbruggen [Tue, 11 Feb 2014 10:54:44 +0000 (11:54 +0100)]
V4 IR: remove unused phi targets.
Remove all phi nodes whose target temps have no uses. This obvious
optimization was missing.
Change-Id: I24354e225ba7b01a3c2a6f4b2e40dd78d6ee3d7d
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Erik Verbruggen [Mon, 10 Feb 2014 13:11:52 +0000 (14:11 +0100)]
V4 IR: changed worklist used while doing optimizations.
Change the worklist in the optimizeSSA function to allow only one entry
for a statement. This prevents re-processing a statement multiple times,
and could lead to crashes when the statement was removed in an earlier
pass.
Change-Id: I2f09cf74525cfe19708ec7a8bc6d555218625e87
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Andrew Knight [Thu, 13 Feb 2014 19:20:32 +0000 (21:20 +0200)]
Compile fix for MSVC2013
This fixes an inclusion error caused by
eb8a091 under WinRT x64 MSVC2013.
Change-Id: I3ebae0788264f4e3ccc0ae9f2bb4dbc4cceaa155
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Reviewed-by: Ulf Hermann <ulf.hermann@digia.com>
Ulf Hermann [Fri, 31 Jan 2014 10:22:01 +0000 (11:22 +0100)]
Test case for V4 profiler and its adapter
Change-Id: I64af195a16189cd1306ca80d13c0ef002fa31f59
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Gunnar Sletta [Tue, 11 Feb 2014 21:49:08 +0000 (21:49 +0000)]
Enable program binary support through QSGRenderContext API.
Change-Id: I4eecff3c8a2c727d38d394305d248eddeef87e8e
Reviewed-by: Michael Brasser <michael.brasser@live.com>
Ulf Hermann [Thu, 23 Jan 2014 11:03:57 +0000 (12:03 +0100)]
V4 profiler adapter
This adapter attaches the V4 profiler to the QML profiling
infrastructure.
Change-Id: Ifaf77a3ba0790bc56d4b155260b0e05593ac799e
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Ulf Hermann [Thu, 23 Jan 2014 16:18:05 +0000 (17:18 +0100)]
Infrastructure for supporting multiple profilers in qqmlprofilerservice
The concepts of "global" and "engine" profilers are introduced. Profilers
can either be attached to specific QML engines and run in their threads
or they can be unspecific global profilers running in arbitrary threads.
Change-Id: I3862fc65c07ccb33a1ca08cd2425e4079d3ffc02
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Jani Heikkinen [Wed, 12 Feb 2014 12:59:06 +0000 (14:59 +0200)]
Disable Flickable tests on Mac OS X.
Task-number: QTBUG-36804
Change-Id: I6bff9360d785bd7496131e3b56a24b11871257fe
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
Simon Hausmann [Thu, 6 Feb 2014 20:15:54 +0000 (21:15 +0100)]
[new compiler] Fix context ownership for anonymous components
When instantiating an anonymous component, we must also set the context
ownership to true.
Fixes garbage collection of item view delegates, where when the destructor
run, their context wasn't cleared properly and child items would re-evaluate
bindings that use "parent" with null.
Change-Id: I8c67c679c12ce987a0dec405571647270373881c
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Ulf Hermann [Wed, 22 Jan 2014 16:46:20 +0000 (17:46 +0100)]
Satellite profiler for V4
Self-contained profiler for V4. By itself it doesn't have any
connections to qqmlprofilerservice.
Change-Id: I471a6119e07eab9c5f4712a16835be49c8886d1a
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Frederik Gladhorn [Wed, 12 Feb 2014 15:43:10 +0000 (16:43 +0100)]
Merge "Merge remote-tracking branch 'origin/release' into stable" into refs/staging/stable
Florian Hänel [Wed, 5 Jun 2013 17:23:32 +0000 (19:23 +0200)]
Fix wrong calculation of viewPort for transitions
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>
Erik Verbruggen [Fri, 31 Jan 2014 10:58:55 +0000 (11:58 +0100)]
V4 JIT: remove unused register constant.
Change-Id: Ic456b680ab4ef9643a1ba85d0d62f8a116764cb0
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Simon Hausmann [Wed, 12 Feb 2014 13:14:58 +0000 (14:14 +0100)]
Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev
Venu [Wed, 29 Jan 2014 11:46:05 +0000 (12:46 +0100)]
Doc: Added information about classname in qmldir
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>
Friedemann Kleint [Fri, 20 Dec 2013 14:38:37 +0000 (15:38 +0100)]
Add a function dumping out a GBMI stack trace of the V4 engine.
Add an exported C-function dumping the JS stack trace which can be
invoked by a debugger with the address of an execution context
it finds in a complete stack trace.
Task-number: QTCREATORBUG-11144
Change-Id: I5314f6b24868f12d4f9dedd1c261658957e581ba
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Mitch Curtis [Fri, 7 Feb 2014 11:45:15 +0000 (12:45 +0100)]
Expose Qt Quick gradient conversion code privately.
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>
Gunnar Sletta [Mon, 27 Jan 2014 09:08:14 +0000 (10:08 +0100)]
Add Image::mipmap to support mipmapping of images.
[ChangeLog][QtQuick] New feature: Image.mipmap
Task-number: QTBUG-19961
Change-Id: I13acb2408d5b126790adaf9d324ad4beda1e3646
Reviewed-by: Michael Brasser <michael.brasser@live.com>
Gunnar Sletta [Wed, 12 Feb 2014 07:29:48 +0000 (08:29 +0100)]
Disable Flickable tests on Mac OS X.
Task-number: QTBUG-36804
Change-Id: Ic38e4172f4a6978ad4e9b9a460106cadaaaeff3a
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
Jan Arve Saether [Mon, 10 Feb 2014 13:38:52 +0000 (14:38 +0100)]
Fixed wrong baseline alignment for TextInput
[ChangeLog][QtQuick][Fixed wrong baseline alignment for TextInput]
Task-number: QTBUG-36749
Change-Id: I6920fb0681f30d9e9943d1bd01f76cc3ae204f30
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Simon Hausmann [Tue, 11 Feb 2014 10:08:11 +0000 (11:08 +0100)]
Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
src/qml/compiler/qv4ssa.cpp
src/qml/jsruntime/qv4arrayobject.cpp
src/qml/jsruntime/qv4context.cpp
Change-Id: Ied5b23bec4dc14abe51127c507aed668f855c1e1
Frederik Gladhorn [Tue, 11 Feb 2014 08:17:22 +0000 (09:17 +0100)]
Merge remote-tracking branch 'origin/release' into stable
Change-Id: I5ac68cc3ad3926190817f0d3d5b4526e70badff6
Frederik Gladhorn [Wed, 29 Jan 2014 16:23:23 +0000 (17:23 +0100)]
Warn when attaching Keys to an invalid item
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>
Frederik Gladhorn [Mon, 10 Feb 2014 09:59:17 +0000 (10:59 +0100)]
Fix memory leak in test
Change-Id: I026ce85a6e593d5eccecdf032ee2f0763a2bef87
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
John Brooks [Sun, 9 Feb 2014 09:34:25 +0000 (02:34 -0700)]
Fix origin for short reversed item views
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>
Ulf Hermann [Thu, 6 Feb 2014 15:01:32 +0000 (16:01 +0100)]
Add a debug service for controlling qml engines
Like this we can control the starting and stopping of qml engines from
the client without having to extend each of the other debug services.
Change-Id: I5f1c077b6cfa0e628c32e8bcdea2ec053e310509
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Ulf Hermann [Thu, 6 Feb 2014 13:43:26 +0000 (14:43 +0100)]
Unify initial waiting of debug services
The debug services generally behave in one of two ways when initializing:
Either they block the initializing thread until some configuration is
passed over the network or they just go on. By introducing a generalized
configurable debug service the various ways of waiting on initialization
are cleaned up. The API defined for it also allows for engine-specific
initialization.
Change-Id: Id5685ef17d2a7eb1222629f7caa5ec53076d47b2
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Frederik Gladhorn [Tue, 21 Jan 2014 15:05:27 +0000 (16:05 +0100)]
Doc: note about visible and enabled in PropertyChanges
Change-Id: I0928737f1651fa98213a84dc4f8b5225d5239502
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
Simon Hausmann [Fri, 7 Feb 2014 16:46:39 +0000 (17:46 +0100)]
Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev
Simon Hausmann [Fri, 7 Feb 2014 15:41:04 +0000 (16:41 +0100)]
Skip mysteriously failing test for now
Task-number: QTBUG-363717
Change-Id: I0085cd7d5bb2b964c8701e061f897926b30cfac0
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Simon Hausmann [Fri, 7 Feb 2014 11:23:17 +0000 (12:23 +0100)]
Fix exception thrown in slot without Qml Engine
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>
Anders Gunnarsson [Tue, 12 Nov 2013 13:58:44 +0000 (14:58 +0100)]
Updated documentation for QML Locale.measurementSystem
Added documentation for ImperialUSSystem and ImperialUKSystem.
Change-Id: I1a628121dce4a7566bd8769843c487e28f3dd6fe
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Simon Hausmann [Thu, 6 Feb 2014 20:15:54 +0000 (21:15 +0100)]
[new compiler] Fix component attachment linking across sub object creators
This brings up the list view in the components gallery.
Change-Id: Ib91ca3b30b8093acad0343b47be60cf4b51e4da7
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Simon Hausmann [Thu, 6 Feb 2014 15:47:29 +0000 (16:47 +0100)]
[new compiler] Fix tst_qqmlincubator::deleteContext
Protect against QQmlContext deletion during incubation re-using the existing
QQmlContextGuard.
Change-Id: Ia1c0241029765cc2e00a9b0ffcf484127de20606
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Simon Hausmann [Thu, 6 Feb 2014 15:33:15 +0000 (16:33 +0100)]
[new compiler] Allow for interruption during object finalization
The object tree construction and binding allocation remains synchronous, but
the initial evaluation of the bindings is now cooperatively interruptible
again, like in the VME.
Change-Id: Idd037dd481782c81ad43e20e93d922eb12ac8b85
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Simon Hausmann [Thu, 6 Feb 2014 08:35:28 +0000 (09:35 +0100)]
[new compiler] Fix parser status and created bindings allocation
Pre-calculate the amount of space we need for binding and parser status
callbacks at compile time and therefore use a much simpler data structure
(vector) to store the points to the bindings and callbacks. They need to be
stored because during object construction and binding enabling phase, it may
happen that they get destroyed and thus their m_mePtr pointing into the array
gets deleted.
The contiguous vector will also make it possible to interrupt the completion
phase.
Change-Id: Ic7c985bb8325ab355112e30e9d33d6ae4e7476d1
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Simon Hausmann [Thu, 6 Feb 2014 15:23:34 +0000 (16:23 +0100)]
[new compiler] Fix memory management of newly created objects
It may happen that QML created objects get garbage collected, as they'll
be initially JS owned. We don't want that to happen, so we have to
protect them, similar to the qmlBindingWrappers array in the VME.
Change-Id: Iec541dccced46ac8aab447cd0558d22b84e3eac0
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Ulf Hermann [Thu, 6 Feb 2014 12:01:05 +0000 (13:01 +0100)]
Protect list of client plugins from concurrent access
Previously the list of client plugins in the QQmlDebugServer could be
accessed concurrently from receiveMessage() and addService() either
when in non-blocking mode, or if the client uses service discovery or
sends additional hello messages after the first one.
Change-Id: I946243957184210d40ebca728143714c341b1226
Reviewed-by: Kai Koehne <kai.koehne@digia.com>