platform/upstream/qtdeclarative.git
11 years agoChange signature of call/construct() to take a pointer to a CallData
Lars Knoll [Fri, 6 Sep 2013 10:44:12 +0000 (12:44 +0200)]
Change signature of call/construct() to take a pointer to a CallData

Change-Id: I5467aadba083e4b01fb0a7170946695207033680
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoGenerate CallData structures directly in the instruction selection
Lars Knoll [Thu, 5 Sep 2013 12:49:55 +0000 (14:49 +0200)]
Generate CallData structures directly in the instruction selection

Like this we can hand the CallData through the runtime methods
without any need to modify them. This simplifies the code in there,
and should also speed them up to some degree.

Change-Id: Ibd92ff4a8f279a5c4a054c5678646f658cfed5ca
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoMove CallData onto the JS stack
Lars Knoll [Thu, 5 Sep 2013 11:22:23 +0000 (13:22 +0200)]
Move CallData onto the JS stack

Change-Id: I22e853acfd2da337344b581bb0412c5f9930c510
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoAdd ScopedValue and ScopedValueArray classes
Lars Knoll [Wed, 4 Sep 2013 14:05:34 +0000 (16:05 +0200)]
Add ScopedValue and ScopedValueArray classes

Use these classes to hold Values on the stack. They
are known by the GC and very fast to create and destroy.

Change-Id: Idacf639485295ff446f290c5b0e149465354720e
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoCreate a stack for JS values and use it in the interpreter
Lars Knoll [Tue, 3 Sep 2013 10:40:07 +0000 (12:40 +0200)]
Create a stack for JS values and use it in the interpreter

First step towards being able to do an exact GC.

Create a stack for JS Values that is separate from the C++
stack.

Use the stack for generated methods (masm and moth).

Change-Id: I80ac0e5b5d86439dda5e9ea2b21fa0c57d8aef22
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoQQuickWindow: Quieten warning about unused variable
Tobias Hunger [Thu, 29 Aug 2013 11:47:17 +0000 (13:47 +0200)]
QQuickWindow: Quieten warning about unused variable

Clang nags about this.

Change-Id: I4b1b3123ef526a4692b08af7211ecb6cae6835d8
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
11 years agoV4: add environment variable QV4_FORCE_INTERPRETER
Erik Verbruggen [Mon, 9 Sep 2013 14:07:01 +0000 (16:07 +0200)]
V4: add environment variable QV4_FORCE_INTERPRETER

By setting this variable, the interpreter will always be used, even when
the JIT is available.

Change-Id: I66a439b649fd22e0d10be4f07f1e7be392b012f5
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoEnable -Werror for qtdeclarative
Alan Alpert [Wed, 4 Sep 2013 22:52:43 +0000 (15:52 -0700)]
Enable -Werror for qtdeclarative

This allows CI to screen for warnings in src and tools code. It does
not apply to examples or tests.

This is the same as commit 7012db159bc4196444ace26991b24a31e3fba495 in
qtbase.

Change-Id: I0ea00fbd4b45156dedabfd16a3cb3e5f6170f23f
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
11 years agoV4: Fix build in release with forced asserts
Konstantin Ritt [Tue, 10 Sep 2013 08:58:29 +0000 (11:58 +0300)]
V4: Fix build in release with forced asserts

Change-Id: I7419b10223ebb28cc54cbb595818509a7384ac6a
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
11 years agoAdd Q_UNUSED for reserved fields.
Alan Alpert [Tue, 10 Sep 2013 07:38:55 +0000 (00:38 -0700)]
Add Q_UNUSED for reserved fields.

Prevents the following compiler errors with Clang

src/quick/scenegraph/coreapi/qsggeometry.h:183:10: error: private field
      'm_reserved_bits' is not used [-Werror,-Wunused-private-field]
    uint m_reserved_bits : 25;
         ^
 src/quick/scenegraph/util/qsgsimplerectnode.h:66:11: error: private field
      'reserved' is not used [-Werror,-Wunused-private-field]
    void *reserved;
          ^
 src/quick/items/qquickclipnode_p.h:66:10: error: private field 'm_reserved' is not
      used [-Werror,-Wunused-private-field]
    uint m_reserved : 31;
         ^
 src/quick/scenegraph/coreapi/qsgmaterial.h:143:11: error: private field
      'm_reserved' is not used [-Werror,-Wunused-private-field]
    void *m_reserved;
          ^
 src/quick/scenegraph/coreapi/qsgnode.h:267:10: error: private field 'm_reserved'
      is not used [-Werror,-Wunused-private-field]
    uint m_reserved : 31;

Change-Id: I0ea00fbd4b45156dedabfd16a3cb3e5f6170f2ff
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
11 years agoV4: Constant binary expression evaluation.
Erik Verbruggen [Mon, 19 Aug 2013 08:54:42 +0000 (10:54 +0200)]
V4: Constant binary expression evaluation.

Statically calculate binary expressions which have two constants as
operands. Currently only for add/subtract/multiply/divide and
comparisons.

Change-Id: Ia8c7222d45bbba956025fe349fc1494015a3e74f
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoV4 debugger: change agent API to work on all debuggers.
Erik Verbruggen [Tue, 10 Sep 2013 10:24:37 +0000 (12:24 +0200)]
V4 debugger: change agent API to work on all debuggers.

From a client point of view, there is no way to know which engine is
executing which script. So, instead of passing in a debugger for a
specific engine, have the agent set breakpoints on all debuggers.

Change-Id: I53b8cbc1bdc02c7705042f2ac3a99a041992c134
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoMake it possible to handle pointers to QObject derived in QML.
Stephen Kelly [Thu, 12 Jan 2012 19:01:15 +0000 (20:01 +0100)]
Make it possible to handle pointers to QObject derived in QML.

This way, properties of QObject derived types can be read in QML
code for example:

 Q_PROPERTY(MyObject* obj READ obj CONSTANT)

Previously, only QObject* types could be read by QML:

 Q_PROPERTY(QObject* obj READ obj CONSTANT)

This meant that multiple properties and methods had to be created
for classes which were relevant to both QML and non-QML code.

This patch lifts that restriction.

As a consequence, we can also remove a Q_EXPECT_FAIL from
the qqmllanguage unit test. That test was introduced in
commit 92562eacbc3c (Allow signal parameters which are custom QML
object-types, 2012-07-13) to document knowledge of the limitation
while fixing it as much as possible.

Task-number: QTBUG-26662

Change-Id: Ic85fa73c6f3655189438ec509765bae2eab9993a
Reviewed-by: Alan Alpert (Personal) <416365416c@gmail.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoV4 regalloc: loading this never needs/needed a call.
Erik Verbruggen [Tue, 3 Sep 2013 19:44:34 +0000 (21:44 +0200)]
V4 regalloc: loading this never needs/needed a call.

Change-Id: Ibf95a5fe7634094386ba103b01b4e7e9f2c183e8
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
11 years agoChange access mode for functions declared in qml
Caroline Chao [Wed, 4 Sep 2013 13:13:53 +0000 (15:13 +0200)]
Change access mode for functions declared in qml

Give the method a QMetaMethod::Public access instead
of a QMetaMethod::Protected one. This is valid
and is also needed when using the qmlplugindump tool
with composite types.

Change-Id: Ie1660716d8767cdc949f04a2f324799f2d2fe6c5
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
11 years agoFix warning by ICC: function without return value
Thiago Macieira [Thu, 5 Sep 2013 00:45:29 +0000 (17:45 -0700)]
Fix warning by ICC: function without return value

Yes, it can't be reached due to the Q_UNREACHABLE(). ICC expands that to an
__assume(0), which I guess isn't strong enough.

qv4isel_util_p.h(94): error #1011: missing return statement at end of non-void function "QQmlJS::convertToValue"

Change-Id: I41d9fd7382a41fe0e753812fc1d71fdc802ef854
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
11 years agoTrigger rebuild when xform of alpha nodes change.
Gunnar Sletta [Fri, 6 Sep 2013 08:35:26 +0000 (10:35 +0200)]
Trigger rebuild when xform of alpha nodes change.

When transforms change, overlaps may have changed, so we
need to rebuild all batches under the current root.

Instead of adding taggedRoots logic for rebuilding
batches only, we reuse the existing tagged roots for render
lists. This one is slightly more expensive, but for now
I believe the reduced code complexity outweights the tiny
overhead.

Change-Id: I1bd0efc18e5628f404d6d4dce38c725436e87ce5
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
11 years agoFix partial rebuilds and geometry changes.
Gunnar Sletta [Thu, 5 Sep 2013 12:12:53 +0000 (14:12 +0200)]
Fix partial rebuilds and geometry changes.

When we do partial rebuilds, we need to update the render order
for the entire subtree unconditionally. The previous logic
was to reuse existing render orders beneath batch roots, which
caused overlapping orders to be used.

When geometry of an alpha batch changes, we need to rebuild
everything under the current root. Otherwise, we might end
up with previously batched content which incorrectly
overlaps the changed geometry.

Change-Id: I7b6de5ce34a02434294ac5ae29ae1b87eb3c4464
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
11 years agoMake tiled images not use atlas.
Gunnar Sletta [Thu, 5 Sep 2013 09:13:08 +0000 (11:13 +0200)]
Make tiled images not use atlas.

The imagenode has two code paths, one fast path relying on
GL_REPEAT and one slower based on one quad per internal tile.
The quad path is very costly and should be avoided at all cost
so extract the texture from the atlas when we have tiling.

Task-number: QTBUG-33310
Task-number: QTBUG-29786

Change-Id: I952749e86dc407db43b168db3ab880eb93329a7a
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
11 years agoConvenience function for resetting the OpenGL state.
Gunnar Sletta [Fri, 30 Aug 2013 10:18:42 +0000 (12:18 +0200)]
Convenience function for resetting the OpenGL state.

Change-Id: I222930c74b9153c4d6d2b62afe0cc2906afb61fa
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
11 years agoAdd support for external drag and drop in Quick items.
Chris Meyer [Mon, 26 Aug 2013 23:15:23 +0000 (16:15 -0700)]
Add support for external drag and drop in Quick items.

Add dragType enums with values of None, Automatic, Internal (default).
Setting to Automatic allows startDrag to be called automatically.
Setting to Internal (default) retains old behavior.

Add mimeData to Drag item to enable external drags.

Call startDrag to start drag manually or change from internal drag to
external drag. Added events dragStarted and dragFinished that get
invoked from startDrag.

Mime data must be specified in the mimeData property as
mime-type / data pairs.

Moved QQuickDrag from qquickmousearea* files to qquickdrag* files to
reduce header interdependencies that caused linking errors in other
modules and also to improve code organization.

Allow DropArea to receive and process external data.

Introduced new variable containsDrag to QQuickDropAreaPrivate. This
replaces mimeData which was previously being used to determine if a
drop operation was currently occurring. The problem was that mimeData
was being externally destructed.

Also introduced accessor methods for getting color, html, image, text,
and urls out of the drop. This facilitates dropping of external data of
those types onto a DropArea.

Added example quick/externaldraganddrop.

Task-number: QTBUG-27498
Change-Id: I1420df7c161ea3399e49a23305273e106baa246f
Reviewed-by: Alan Alpert (Personal) <416365416c@gmail.com>
11 years agoTests: Re-enabled tests for access type of QMetaObject::Signal
Caroline Chao [Mon, 9 Sep 2013 06:51:40 +0000 (08:51 +0200)]
Tests: Re-enabled tests for access type of QMetaObject::Signal

QMetaMethod::Signal access is now QMetaMethod:Public in qtbase.

Change-Id: If1a3e76889bd25fb20ba6ed1e3b8206053acd8d9
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
11 years agoV4: temporarilly disable the optmizer/regalloc.
Erik Verbruggen [Mon, 9 Sep 2013 09:57:00 +0000 (11:57 +0200)]
V4: temporarilly disable the optmizer/regalloc.

There are two bugs for which patches are pending. In order to unblock
qtquickcontrols, this code is disabled until those pending patches are
merged.

Change-Id: I2362bf3db0614ef8c6f45a1506838f227ea17b59
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoFix return type checks in test.
Erik Verbruggen [Mon, 9 Sep 2013 13:52:06 +0000 (15:52 +0200)]
Fix return type checks in test.

When calling into JavaScript, the specific type of the return value can
differ if that return value is a number. This is not only the case for
non-integral numbers, or numbers that do not fit into the (signed)
integer range, but it also depends on which optimizations are run. to
check if the return value is of a number type, use this method instead
of checking against a specific userType.

Change-Id: I0464c062bd617c83b7a1e887f7853aa5cd8f43e4
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoPolish items on screen change.
Morten Johan Sørvig [Mon, 26 Aug 2013 08:52:38 +0000 (10:52 +0200)]
Polish items on screen change.

The window device pixel ratio may change. Repaint
all items.

Change-Id: I09b782800c15ec6290bf79cb7c7a5d6e6c08b528
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
11 years agoMake sure we update texture parameters when using atlas textures.
Gunnar Sletta [Fri, 6 Sep 2013 13:47:57 +0000 (15:47 +0200)]
Make sure we update texture parameters when using atlas textures.

The QSGTexture class tracks filter and wrap states internally
and only updates when new states have been set. When atlas
textures are used, multiple QSGTexture instances share the
same OpenGL texture id and the state will get out of sync.

Change-Id: Iaf6ba9764a67acf25d0a6b0a2fb18170122e3325
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
11 years agoTests: Disabled temporarily access type tests of QMetaMethod::Signal
Caroline Chao [Mon, 9 Sep 2013 06:47:25 +0000 (08:47 +0200)]
Tests: Disabled temporarily access type tests of QMetaMethod::Signal

Change in qtbase to make the QMetaMethod signals access Public instead
of Protected.

Change-Id: I2de17fdc7edb896eb82ae8f467919e4636904cf6
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoFix build on iOS: define GL_DOUBLE
Richard Moe Gustavsen [Fri, 6 Sep 2013 11:19:00 +0000 (13:19 +0200)]
Fix build on iOS: define GL_DOUBLE

This patch will fix the build error:

qsgbatchrenderer.cpp:1844: error: use of undeclared identifier
GL_DOUBLE

Change-Id: I7981e303e4743bb610822633c7da433238de4683
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
11 years agoV4 JIT: Change function call generation with registers.
Erik Verbruggen [Tue, 27 Aug 2013 11:02:32 +0000 (13:02 +0200)]
V4 JIT: Change function call generation with registers.

When generating a function call where arguments are passed by reference,
first save all arguments that are in registers to the stack, and only
then put the references into the outgoing positions (stack or register).

Change-Id: Iaec4db6836e33627723eb4709fd6dad2b4ea8a1d
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
11 years agoV4: fix inferred types of 30&&true and 30||true.
Erik Verbruggen [Thu, 29 Aug 2013 09:13:04 +0000 (11:13 +0200)]
V4: fix inferred types of 30&&true and 30||true.

The type was incorrectly inferred as double instead of var.

Fixes ch10/10.5/10.5-7-b-3-s

Change-Id: I93a43318a94a820a1a2e05c7b670a08915b99723
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
11 years agoDocument TextInput property displayText as read-only
Jeremy Katz [Wed, 4 Sep 2013 03:38:00 +0000 (20:38 -0700)]
Document TextInput property displayText as read-only

Change-Id: Iff30a548fc2ef8ecf2fa6393832943f365cb0fa3
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
11 years agoRemove variables that aren't being used right now
Thiago Macieira [Thu, 5 Sep 2013 00:34:56 +0000 (17:34 -0700)]
Remove variables that aren't being used right now

Found by ICC.

 src/quick/items/qquicktextcontrol.cpp(78): error #2415: variable "fullWidthSelection" of static storage duration was declared but never referenced
 src/quick/items/qquicktextinput.cpp(2696): error #2415: variable "textCursorWidth" of static storage duration was declared but never referenced
 src/quick/items/qquicktextinput.cpp(2697): error #2415: variable "fullWidthSelection" of static storage duration was declared but never referenced
 src/quick/scenegraph/qsgthreadedrenderloop.cpp(164): error #2415: variable "WM_LockAndSync" of static storage duration was declared but never referenced
 src/quick/scenegraph/qsgthreadedrenderloop.cpp(181): error #2415: variable "WM_UpdateLater" of static storage duration was declared but never referenced

Change-Id: I60b5cce79d7be5f909b690f97ffa93ea00d3c044
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
11 years agowince: Build fix, creating stack traces is not available on this platform
Sérgio Martins [Thu, 29 Aug 2013 11:11:54 +0000 (12:11 +0100)]
wince: Build fix, creating stack traces is not available on this platform

Keep the windows.h include as the first one.
Change-Id: I8e605159bd441ab56be6310644f4aa7c7ecb6abf
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoRemove insignification of the test on Windows.
Friedemann Kleint [Fri, 6 Sep 2013 14:13:40 +0000 (16:13 +0200)]
Remove insignification of the test on Windows.

The failing test is excluded by
adba828504c498944d244c5d17576f4542dd0c15 .

Task-number: QTBUG-32664

Change-Id: I5030fbbe8d1c2bc93da9649b22223a6278b71ea0
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
11 years agoExport qsgnode_set_description.
Gunnar Sletta [Fri, 6 Sep 2013 07:14:35 +0000 (09:14 +0200)]
Export qsgnode_set_description.

We want to use it from Controls.

Change-Id: Ia825cb7373139f070f20b3ff73cbe71e1c6428ad
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
11 years agoPrefer multisample antialiasing when we have a msaa context
Gunnar Sletta [Fri, 30 Aug 2013 06:38:24 +0000 (08:38 +0200)]
Prefer multisample antialiasing when we have a msaa context

Task-number: QTBUG-32699
Change-Id: Id4382c154954cb114af2cc29b075ddab8df9f387
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
11 years agoMerge "Merge branch 'stable' into dev" into refs/staging/dev
Sergio Ahumada [Fri, 6 Sep 2013 08:23:23 +0000 (10:23 +0200)]
Merge "Merge branch 'stable' into dev" into refs/staging/dev

11 years agoMerge branch 'stable' into dev
Sergio Ahumada [Thu, 5 Sep 2013 13:31:08 +0000 (15:31 +0200)]
Merge branch 'stable' into dev

Conflicts:
src/qml/debugger/qv8debugservice.cpp
src/qml/qml/v8/qv8engine.cpp
tests/auto/quick/qquickitem/qquickitem.pro

Change-Id: Ic4a1dcdd8b8a84155d2f2abefdf1da5c3a56af31

11 years agoRemove large, unused function in QtQuick 2
Thiago Macieira [Thu, 5 Sep 2013 04:51:42 +0000 (21:51 -0700)]
Remove large, unused function in QtQuick 2

qquickcontext2dcommandbuffer.cpp(187): warning #177: function "drawRepeatPattern" was declared but never referenced

Change-Id: If3d6a2d30f1782f640876f03de0ee8f901e23347
Reviewed-by: Alan Alpert (Personal) <416365416c@gmail.com>
11 years agoDisable the isPowerOfTwo functions that are only used with OpenGL ES 2
Thiago Macieira [Thu, 5 Sep 2013 04:50:27 +0000 (21:50 -0700)]
Disable the isPowerOfTwo functions that are only used with OpenGL ES 2

Found by ICC 14. This warning is not made an error because ICC is too
chatty when it comes to detecting unused functions. In this case,
however, it is right.

qsgtexturematerial.cpp(49): warning #177: function "isPowerOfTwo" was declared but never referenced
qsgtexture.cpp(84): warning #177: function "isPowerOfTwo" was declared but never referenced
qsgdefaultimagenode.cpp(368): warning #177: function "isPowerOfTwo" was declared but never referenced

Change-Id: I6c96dad3e1236fd33a02232f886ca33fa2b21258
Reviewed-by: Alan Alpert (Personal) <416365416c@gmail.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
11 years agoFix rendering errors in Qt Quick Controls gallery
Gunnar Sletta [Wed, 4 Sep 2013 12:08:41 +0000 (14:08 +0200)]
Fix rendering errors in Qt Quick Controls gallery

First, when doing a partial rebuild, we need to mark
all elements for orphaning, not just those without a batch,
as the renderlist should at all times contain everything
that is rendered on screen.

Second, we had a small bug with material changes where we
would overwrite the rebuild state instead of adding to it.
This led to the render lists not being rebuilt from scratch
in some scenarios.

Third, after the shadow nodes rewrite, we didn't mark
for a full rebuild when clips were added.

Change-Id: I6707ebfa2908fcedd7fb636fb25b844be15fdea1
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
11 years agoOff-by-one error in batch recylcing lead to leaks and no recycling
Gunnar Sletta [Wed, 4 Sep 2013 06:26:06 +0000 (08:26 +0200)]
Off-by-one error in batch recylcing lead to leaks and no recycling

Change-Id: Ic6b126bbc929c2062fd3e77253ad8bba60376a50
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
11 years agoFix qqmllocale test to use correct spec and time zone
John Layt [Tue, 3 Sep 2013 18:40:49 +0000 (20:40 +0200)]
Fix qqmllocale test to use correct spec and time zone

By including the +10:00 offset in the date strings the test is actually
creating Qt::OffsetFromUTC datetimes, not QT::LocalTime datetimes. The
only reason the test currently passes is due to a bug in the QLocale
datetime formatter which uses the current system daylight time
abbreviation in all cases regardless of the datetime spec or if
daylight or standard time.  Change 61774 fixes this bug but cannot
be merged as this test now fails.  This change fixes the bug by
removing the offset, causing Qt:LocalTime datetimes to be created
which pass the test both before and after change 61774.

See https://codereview.qt-project.org/#change,61774

Change-Id: I1642ab7c8aa516b703216f3791e2fc60866d1895
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
11 years agoRemoved the static intialized boolean of qquickitemsmodule.
Dominik Holland [Thu, 27 Jun 2013 07:41:18 +0000 (09:41 +0200)]
Removed the static intialized boolean of qquickitemsmodule.

This prevents a reregistration of the all QQuick2 types when
qmlClearTypeRegistrations() is called

Task-number: QTBUG-32078
Change-Id: I33b4c069183d6344a2f14b4147eaa7056c3b72b9
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
11 years agoFix qmlClearEnginePlugins() to clear engine plugins.
Dominik Holland [Thu, 27 Jun 2013 07:42:39 +0000 (09:42 +0200)]
Fix qmlClearEnginePlugins() to clear engine plugins.

Task-number: QTBUG-32078

Change-Id: I2d3aeb6b91ffdb9b8c70ad93d1e43daada84fb7f
Reviewed-by: Alan Alpert (Personal) <416365416c@gmail.com>
11 years agoFix crash tst_qqmllanguage
Dominik Holland [Mon, 1 Jul 2013 20:28:06 +0000 (22:28 +0200)]
Fix crash tst_qqmllanguage

qmlClearTypeRegistrations() shouldn't be called when instances of
QQmlEngine are still open. This can lead to unexpected behavior.

For the qmlClearTypeRegistrations() function there is separate
autotest

Task-number: QTBUG-32078
Change-Id: I32612bc82602593d902bbffc58911e427b50524f
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
11 years agoFix tons of reference errors in tst_qquickpositioners
J-P Nurmi [Wed, 4 Sep 2013 12:51:31 +0000 (14:51 +0200)]
Fix tons of reference errors in tst_qquickpositioners

Due to missing context properties:
ReferenceError: fooBar is not defined

Task-number: QTBUG-33018
Change-Id: Ibba95ab688a8d5cadc94bdeb30d0ec087ffe3c0c
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
11 years agoFix qv4jsir_p.h warnings
J-P Nurmi [Wed, 4 Sep 2013 08:56:00 +0000 (10:56 +0200)]
Fix qv4jsir_p.h warnings

Apparently CONST is not defined on MSVC 2010, so the unbalanced
push/pop macro usage leads to tons of such warnings:

qv4jsir_p.h(922) : warning C4602: #pragma pop_macro : 'CONST' no
previous #pragma push_macro for this identifier

Change-Id: Ia34ef00e79b4f7a3abf682e1e78dfa3193e30838
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
11 years agoFix compiler warning about unused variable
Kai Koehne [Tue, 27 Aug 2013 11:39:56 +0000 (13:39 +0200)]
Fix compiler warning about unused variable

Change-Id: I2dda2462170658a678a35a6fafdb5d39a8d8e9f4
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
11 years agoFix a crash in Function.apply()
Lars Knoll [Tue, 3 Sep 2013 12:41:08 +0000 (14:41 +0200)]
Fix a crash in Function.apply()

Change-Id: Ida44280b9d5408285de63841a17cd1491e52f977
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoRevert "Temporarily pin qtbase to a working version..."
Simon Hausmann [Tue, 3 Sep 2013 07:16:51 +0000 (09:16 +0200)]
Revert "Temporarily pin qtbase to a working version..."

This reverts commit 57c81a2b4b67bc001a28060527325f4016e42ffb

qtbase should be fixed now

Change-Id: I8179509d7549955ee9f78b3213f59c3a1f5e5c59
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
11 years agoOptimize String.replace and RegExp.exec
Lars Knoll [Mon, 2 Sep 2013 12:25:15 +0000 (14:25 +0200)]
Optimize String.replace and RegExp.exec

This speeds up the v8 regexp benchmark by a factor 2.5 :)

Change-Id: Ibd6b18ee28181aa712429cbec4598984e0c69820
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoOptimize ScriptFunction::construct() and creation of FunctionObjects
Lars Knoll [Sun, 1 Sep 2013 19:22:57 +0000 (21:22 +0200)]
Optimize ScriptFunction::construct() and creation of FunctionObjects

Change-Id: I7df04171a26cbe659e85f14878cc4e51030e8a5a
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoInline identifier lookup where it makes sense
Lars Knoll [Sat, 31 Aug 2013 22:47:28 +0000 (00:47 +0200)]
Inline identifier lookup where it makes sense

Change-Id: I42ac6f4232fec2ce1535a007007542d8cc116433
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoUse Q_ASSERT instead of assert to get rid of the checks in release builds
Lars Knoll [Sat, 31 Aug 2013 22:46:51 +0000 (00:46 +0200)]
Use Q_ASSERT instead of assert to get rid of the checks in release builds

Change-Id: Ia4b5bda273d44ec4c25ba955018a0f6fe220551e
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoOptimize Function.apply()
Lars Knoll [Sat, 31 Aug 2013 22:46:14 +0000 (00:46 +0200)]
Optimize Function.apply()

Change-Id: I693413e7be5520e13139594f7654a36ce54a59ce
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoOptimise property lookups on primitive types
Lars Knoll [Fri, 30 Aug 2013 12:39:40 +0000 (14:39 +0200)]
Optimise property lookups on primitive types

This gives a large speedup on code such as "foo".charAt(2), or
(5.).toString().

Change-Id: I8b6c46f2f69a4b00f82048a9368d8e9baf4d89ee
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoFix a small bug in ExecutionContext::getPropertyAndBase
Lars Knoll [Fri, 30 Aug 2013 11:13:28 +0000 (13:13 +0200)]
Fix a small bug in ExecutionContext::getPropertyAndBase

Don't return the activation object as base, as it's only a helper
for mutable properties in regular call contexts

Change-Id: I2c36a4aff9cf82d87f80e541b4ec21ef17e18e8d
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoRemove more usages of Object::setPrototype()
Lars Knoll [Fri, 30 Aug 2013 09:22:00 +0000 (11:22 +0200)]
Remove more usages of Object::setPrototype()

Change-Id: I33383baf14e764ce79252a100a6d769bde75331a
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoRemove more usages of Object::setPrototype()
Lars Knoll [Fri, 30 Aug 2013 07:18:03 +0000 (09:18 +0200)]
Remove more usages of Object::setPrototype()

Change-Id: I8c49f61bc85e3d98dea90bf05db1a3f22d08f7b1
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoCleanup calls to Object::setPrototype()
Lars Knoll [Thu, 29 Aug 2013 19:23:04 +0000 (21:23 +0200)]
Cleanup calls to Object::setPrototype()

Rather use the correct internalClass directly when constructing
the objects.

Change-Id: I8e916f1ce8f83d291c08ca6332fe85b1f57b90b5
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoMove prototype pointer into QV4::InternalClass
Lars Knoll [Thu, 29 Aug 2013 12:31:32 +0000 (14:31 +0200)]
Move prototype pointer into QV4::InternalClass

The prototype is actually the same for most objects. By
moving it into the internal class, we can save 8 bytes
per object, as well as allowing for some future
optimizations.

Also fix a bug in the implementation of the Error
prototype objects.

Change-Id: I4d4b641055f644a9b088f27be34bfdb0446279b7
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoAdd the object's prototype to the InternalClass structure
Lars Knoll [Thu, 29 Aug 2013 11:24:38 +0000 (13:24 +0200)]
Add the object's prototype to the InternalClass structure

Change-Id: Ifa97d3354a7a7afadf70f9ba540716bd5b1eef44
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoRemove unused arvument from Object constructor
Lars Knoll [Thu, 29 Aug 2013 11:06:22 +0000 (13:06 +0200)]
Remove unused arvument from Object constructor

Change-Id: I2c26bd8af9b352baed9b84a6b6401633ded4da85
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoRemove unused variable
Lars Knoll [Thu, 29 Aug 2013 10:58:30 +0000 (12:58 +0200)]
Remove unused variable

Change-Id: I163baea9105c6241a7d162a7e7468a70a29b3eaf
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoRemove unused constructor
Lars Knoll [Thu, 29 Aug 2013 10:58:18 +0000 (12:58 +0200)]
Remove unused constructor

Change-Id: Ibba688aea338c9f3deb33ae7488b7239ec9a485c
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoFix some bugs in the code generator
Lars Knoll [Wed, 28 Aug 2013 07:06:34 +0000 (09:06 +0200)]
Fix some bugs in the code generator

arguments can't be used as lvalue in strict mode. We however also threw
an error in some cases where it was used as an rvalue, e.g. in
(arguments < 10)
the delete operator should throw a syntax error in strict mode on all
unqualified variables
Optimize the identifier() code a little: arguments and local variables
inside eval do not need to be looked up by name.

Change-Id: If3e9305187acf72820c5164aa9754927a2c4d5d5
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoAdd Value::isNullOrUndefined()
Lars Knoll [Tue, 27 Aug 2013 12:41:47 +0000 (14:41 +0200)]
Add Value::isNullOrUndefined()

Allows for some smaller optimization in the call stack.

Change-Id: Id5beeb04e9f9dbf9e61280cee7bf6758a4c02310
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoFix incorrect implementation of Array.toString()
Lars Knoll [Wed, 21 Aug 2013 17:06:10 +0000 (19:06 +0200)]
Fix incorrect implementation of Array.toString()

The spec says we need to call join with empty arguments if it's
callable, otherwise fall back to Object.toString()

Change-Id: I36aed164b60fad89b7d23b8a6993964c344a9ed3
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agochange calling convention for JS function calls
Lars Knoll [Wed, 21 Aug 2013 15:31:22 +0000 (17:31 +0200)]
change calling convention for JS function calls

This allows faster pass through of the data if we have
nested calls.

Also make sure we always reserve at least
QV4::Global::ReservedArgumentCount Values on the
stack to avoid stack corruption.

Change-Id: I42976460f1ef11a333d4adda70fba8daac66acf3
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agomove methods to create a new context into the ExecutionContext class
Lars Knoll [Wed, 21 Aug 2013 13:00:09 +0000 (15:00 +0200)]
move methods to create a new context into the ExecutionContext class

This avoids one indirection when calling the methods and cleans up
the engine a bit.

Change-Id: I426f41e23f6a7262af95b9807b00920530fef642
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoAdd a SimpleScriptFunction class
Lars Knoll [Wed, 21 Aug 2013 12:52:15 +0000 (14:52 +0200)]
Add a SimpleScriptFunction class

Choose whether we use a stack based context for a function, when
the actual closure is generated, not at call time. This speeds up
function calling for leaf functions.

Change-Id: Ibcbf3acb5610a7f59b6474e982122df03c1c5298
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoMove call context creation into the ExecutionContext class
Lars Knoll [Wed, 21 Aug 2013 08:32:50 +0000 (10:32 +0200)]
Move call context creation into the ExecutionContext class

Change-Id: Ie66a5892b0e5ab74bead1fcb59ffad5a867e0509
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoTemporarily collect a map of all functions in the engine
Simon Hausmann [Fri, 30 Aug 2013 08:29:16 +0000 (10:29 +0200)]
Temporarily collect a map of all functions in the engine

At the moment we collect a lot of compilation units (one per binding
expression!), which for long running QML accumulates and creates a horrible
performance when trying to retrieve back traces. There is work in progress
to reduces the number of units down to one per QML file, and then the
fixed sorted QVector might proof to be a more efficient data structure
for the lookups.

But until that code lands, this patch proposes to use a QMap instead for the
time being, that tracks all functions. This brings down the qtquickcontrols
auto-test run from 2.5 minutes to just under a minute on my machine.

Change-Id: I45bf609055877081daa984de90f291a030f2f24f
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
11 years agoFix crashes when running tst_qqmlecmascript::importScripts with aggressive gc
Simon Hausmann [Mon, 26 Aug 2013 13:25:47 +0000 (15:25 +0200)]
Fix crashes when running tst_qqmlecmascript::importScripts with aggressive gc

In the case of imported JavaScript files, it may happen that we parse the JS once
and then re-use it across different places where it is imported. That means we
parse and compile the JS once, keep the QV4::Script around and call it as a function
closure with different qml global objects (contexts), depending on where it is
imported from.

In this situation it is possible that the QV4::Script's run() is called once, a
new function object is created, we call it to return the JS library to "eval"
itself into the qml scope and afterwards it may happen that the function object
is garbage collected.  It is at this point possible that the compilation unit's
refcount therefore also drops to zero, and thus subsequent calls to
QV4::Script::run() that create new QQmlBinding objects will access a dangling
compilationUnit pointer.

This patch fixes that by making QV4::Script - which is holding a QV4::Function
pointer - also have a persistent, which maintainers a refcount on the
compilation unit.  If the script dies, the persistent will get collected and
the last deref will delete the unit. A script can however outlive the engine,
but PersistentValue has the mechanism built in to free itself on engine
destruction, which will also deref the unit accordingly.

Change-Id: I0a7f4e64497bde423ffa55c705af55cdb7d29cf2
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
11 years agoNew scenegraph renderer and atlas textures.
Gunnar Sletta [Wed, 14 Aug 2013 05:27:07 +0000 (07:27 +0200)]
New scenegraph renderer and atlas textures.

The renderer tries to batch primitives together where possible, isolate
non-changing subparts of the scene from changing subparts and retain
vertexdata on the GPU as much as possible. Atlas textures are crucial
in enabling batching.

The renderer and atlas texture are described in detail in the doc page
"Qt Quick Scene Graph Renderer".

Change-Id: Ia476c7f0f42e1fc57a2cef528e93ee88cf8f7055
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
11 years agoMake sure text is output to console on windows
Jan Arve Saether [Fri, 30 Aug 2013 13:59:23 +0000 (15:59 +0200)]
Make sure text is output to console on windows

Change-Id: I33a8a000fb14e2006475c54f3c5bc4e2dd8f0751
Reviewed-by: Caroline Chao <caroline.chao@digia.com>
11 years agoFix the header guard for the ARM unwinder helper
Thiago Macieira [Sat, 31 Aug 2013 00:04:19 +0000 (17:04 -0700)]
Fix the header guard for the ARM unwinder helper

Make it match the file name, instead of being exactly the same as the
DWARF2 header. This way, it's possible for both headers to be included.

Change-Id: I9a386d3203c8f1482d28b1d1074206cf354db33e
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
11 years agoRename the DW2 and ARM unwinder helpers to standard _p.h
Thiago Macieira [Sat, 31 Aug 2013 00:01:32 +0000 (17:01 -0700)]
Rename the DW2 and ARM unwinder helpers to standard _p.h

The Qt convention is that private headers end in _p.h. A great deal of
our build automation relies on this, including the choosing of which
headers to install and which ones not to.

Change-Id: I03ab6021e0a8a68d5a9cbc9d9387a9c5331f7bb7
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
11 years agoFix bad cast from non-const QMap iterator to const_iterator
Thiago Macieira [Fri, 30 Aug 2013 23:56:14 +0000 (16:56 -0700)]
Fix bad cast from non-const QMap iterator to const_iterator

At that point in the ARM unwinder, the non-POD QMap global static (!)
is not const, so QMap::lowerBound returns a regular iterator.

Change-Id: Ia4dad7ee1a9cf593b0e1d273d193337fac7d9b69
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
11 years agoFix generation of headers by syncqt.pl outside git builds
Sergio Ahumada [Fri, 30 Aug 2013 12:01:51 +0000 (14:01 +0200)]
Fix generation of headers by syncqt.pl outside git builds

This seems to be a left over from 3cefb43441a9879cc512dc3fcc7dca0d42e9ca8c

Change-Id: Ib229c69e42140e073b9dd375d0fc2ede658c4ac8
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
11 years agoTemporarily pin qtbase to a working version...
Simon Hausmann [Mon, 2 Sep 2013 06:32:06 +0000 (08:32 +0200)]
Temporarily pin qtbase to a working version...

... so that we can continue to develop while qtbase is being fixed to
allow compiling qtdeclarative on mac with no-framework debug builds.

Change-Id: I2e1f4c1b82560a2f49205035aaca3078f9d28061
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
11 years agoFix crash on QV8Engine destruction
Josh Faust [Fri, 7 Jun 2013 00:44:12 +0000 (17:44 -0700)]
Fix crash on QV8Engine destruction

QObjects tracked by QV8Engine can end up causing bindings to execute
when the QV8Engine is being deleted, which can call through to
QV8Engine::fromVariant(). This change ensure that that is valid
while the QObjects are being destroyed.

Task-number: QTBUG-31555

Change-Id: Iaea402ff65993bb2322af403d3590653005e30fe
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
11 years agoStabilize tst_rendernode.
Friedemann Kleint [Fri, 30 Aug 2013 11:18:49 +0000 (13:18 +0200)]
Stabilize tst_rendernode.

Center windows on screen, add QSKIP for screen depth, add error message
to color comparison.

Change-Id: I03d600a4810f27654e0b971b19631ba51c9f6874
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
11 years agotst_QQuickItemLayer: Specify precision in shader for ANGLE.
Friedemann Kleint [Thu, 29 Aug 2013 14:34:46 +0000 (16:34 +0200)]
tst_QQuickItemLayer: Specify precision in shader for ANGLE.

tst_QQuickItemLayer::layerSourceRect() QQuickCustomMaterialShader:
Shader compilation failed: ERROR: 0:9: '' : No precision specified for
(float).

Change-Id: I3ab87c747bed5b8c8cfcf5527ee2a8b2ebd891a2
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
11 years agotst_qquickpathview::cancelDrag(): Move mouse after setUrl().
Friedemann Kleint [Fri, 30 Aug 2013 08:01:15 +0000 (10:01 +0200)]
tst_qquickpathview::cancelDrag(): Move mouse after setUrl().

Take correct window size into account.

Task-number: QTBUG-32662

Change-Id: Ie04c8fe8e254d232f076e6f9d9d0d96f12a4530f
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agowince: Build fix, assert() is not present in this platform.
Sérgio Martins [Thu, 29 Aug 2013 09:17:12 +0000 (10:17 +0100)]
wince: Build fix, assert() is not present in this platform.

Change-Id: Ib29f1411b9829bc9bf6a94e4fb23a33f955ee1b2
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agowince: Build fix, disable the assembler when JIT is disabled.
Sérgio Martins [Thu, 29 Aug 2013 08:35:34 +0000 (09:35 +0100)]
wince: Build fix, disable the assembler when JIT is disabled.

Change-Id: Ibd22f27401c3751bc64749c6f1eea3aba57d66eb
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoGenerate code for conversion to signed int32.
Erik Verbruggen [Fri, 23 Aug 2013 13:10:36 +0000 (15:10 +0200)]
Generate code for conversion to signed int32.

Change-Id: I862a8c9c262b658859cc9b57ea0b6e9eb60e32e5
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoGenerate code for conversion to boolean.
Erik Verbruggen [Wed, 21 Aug 2013 12:13:46 +0000 (14:13 +0200)]
Generate code for conversion to boolean.

Change-Id: I59e24264325b6560ee1c0dbdafacb1f08c3671d5
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoqmltest: Add QTestDefinedVariables
Caroline Chao [Fri, 23 Aug 2013 10:57:03 +0000 (12:57 +0200)]
qmltest: Add QTestDefinedVariables

QTestDefinedVariables is used by the QTestRootObject to check
is a preprocessor variable is defined.

Adding QT_OPENGL_ES_2_ANGLE. It can be useful to know
if it is defined (Win32 + Angle) while running a test.

Change-Id: I2f9ffb1028c94095c711ab64737b53b60c055312
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
11 years agoqmltest: Register test object as a singleton
Caroline Chao [Thu, 22 Aug 2013 11:13:00 +0000 (13:13 +0200)]
qmltest: Register test object as a singleton

Change-Id: I5f6c404ff2901082f22b953b29aed08d3488f31d
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
11 years agoV4 regalloc: fix off-by-one in availability calculation.
Erik Verbruggen [Tue, 27 Aug 2013 13:13:03 +0000 (15:13 +0200)]
V4 regalloc: fix off-by-one in availability calculation.

Simplified the algorithm, and use it to iterate over all registers. The
previous version did not initialize bestReg correctly, thereby skipping
the first register (which could also be the best one).

Change-Id: I7e33f93a27e8fe64cd00acac755cf67ca5f0b1b8
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoV4 regalloc: do not overwrite register availability in hole.
Erik Verbruggen [Tue, 27 Aug 2013 13:10:51 +0000 (15:10 +0200)]
V4 regalloc: do not overwrite register availability in hole.

When a fixed interval for a register is inactive, the register is free
until that interval becomes active, or (and this was missing), until
another interval uses it before that position. So instead of blindly
overwriting the freeUntilPos, take the qMin of the existing one with
the intersection position.

Change-Id: I2730a748ef1e46b4782fbb9814e800eca52172f0
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoInitialize variables in ShaderEffectSource's texture provider.
Gunnar Sletta [Wed, 28 Aug 2013 07:04:15 +0000 (09:04 +0200)]
Initialize variables in ShaderEffectSource's texture provider.

Change-Id: I3d737b923ee0282f58d7a2ee96824f184469daf5
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
11 years agowince: Build fix, abort() is not available on this platform
Sergio Martins [Sun, 25 Aug 2013 19:13:55 +0000 (20:13 +0100)]
wince: Build fix, abort() is not available on this platform

Change-Id: I0962f8b89de465d84d913b46ba482a538fe25495
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoGenerate code conversion to double.
Erik Verbruggen [Wed, 21 Aug 2013 11:45:24 +0000 (13:45 +0200)]
Generate code conversion to double.

Performance improves by about 15% on fact.3.js when Qt is build in
debug mode.

Change-Id: I4a1c868fe211c1e0f9e7d9a5652f7726b37405d1
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agowince: Build fix, CONST conflicts with Windows macros.
Sérgio Martins [Wed, 28 Aug 2013 07:44:52 +0000 (08:44 +0100)]
wince: Build fix, CONST conflicts with Windows macros.

Don't #undef system macros in header files, they propagate quickly
through other headers and make it very difficult to fix these problems.

Change-Id: Id5efdfa69d0eefa8c740b14f839194039bd9752b
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoFix unused variable warning
Kai Koehne [Mon, 26 Aug 2013 09:50:33 +0000 (11:50 +0200)]
Fix unused variable warning

Fix gcc warning: unused parameter ‘newEffect’

Change-Id: If4ca8058b5b637518a868947226c834d571f7037
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
11 years agoFix crash when trying to set versioned group properties
Simon Hausmann [Mon, 26 Aug 2013 13:35:19 +0000 (15:35 +0200)]
Fix crash when trying to set versioned group properties

If a property isn't available due to revisioning, we print an error message.
Producing the error message should be done with care of obj->type being -1
to avoid out-of-bounds on the output->types array.

Task-number: QTBUG-33179

Change-Id: I7bd420f2dfa0ca2d616340a68999d58022974435
Reviewed-by: Alan Alpert <aalpert@blackberry.com>