platform/upstream/qtdeclarative.git
10 years agowince: vsnprintf is not available, use qvsnprintf
Sergio Martins [Sun, 25 Aug 2013 14:53:12 +0000 (15:53 +0100)]
wince: vsnprintf is not available, use qvsnprintf

Change-Id: I42c87b2c319ce5b530ac5dc673edc99b067fafd7
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Björn Breitmeyer <bjoern.breitmeyer@kdab.com>
10 years agoSilence MinGW/gcc-4.8.1 compiler warnings.
Friedemann Kleint [Mon, 26 Aug 2013 13:07:38 +0000 (15:07 +0200)]
Silence MinGW/gcc-4.8.1 compiler warnings.

Reorder V4::Object's and V4::Value's private object inline functions
such that its definitions are visible from where they are being
referenced.

qv4object_p.h:418:13: warning: 'uint QV4::Object::arrayLength() const'
redeclared without dllimport attribute after being referenced with dll
linkage

qv4object_p.h:430:13: warning:
'void QV4::Object::setArrayLengthUnchecked(uint)' redeclared without
dllimport attribute after being referenced with dll linkage

Change-Id: I49a3c9d1da637eaf038f53b29ec13c35253de9f1
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
10 years agoInterpreter fixes.
Erik Verbruggen [Fri, 23 Aug 2013 10:18:41 +0000 (12:18 +0200)]
Interpreter fixes.

- Support constants in phi-nodes
- Fix possible null-pointer dereference.

Change-Id: I7cb773f1b4469d1cda648317670d9993d5b35ca3
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
10 years agoAllow for function declarations inside conditionals
Simon Hausmann [Thu, 22 Aug 2013 07:24:19 +0000 (09:24 +0200)]
Allow for function declarations inside conditionals

This is strictly speaking a regression from 5.1/v8, which allows for that
as real world JavaScript appears to require it.

Task-number: QTBUG-33064
Change-Id: Iceaca84373f12fb08459ed007afb25b5a705fa31
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
10 years agoDon't crash with deferred properties
Alan Alpert [Wed, 21 Aug 2013 20:21:03 +0000 (13:21 -0700)]
Don't crash with deferred properties

There are cases where a qmlExecuteDeferred(o) can be postponed until the
context of o is being destroyed, at which point it's too late to create
an object in that context.

Task-number: QTBUG-33112
Change-Id: I7f981b5e34e3cb8a52c00de4742a7242d7e4df54
Reviewed-by: Christopher Adams <chris.adams@jollamobile.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
10 years agoTestLib: Fix regression in error location output
Caroline Chao [Thu, 22 Aug 2013 11:44:49 +0000 (13:44 +0200)]
TestLib: Fix regression in error location output

Error location returned should be given in the test file not in
TestCase.qml.

Change-Id: Ifea51fe5e39890a369c4dca6754abd46d2ee9bc2
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
10 years agoCleanup: Rename overloaded () operators of CodeGen to more descriptive function names
Simon Hausmann [Tue, 6 Aug 2013 12:18:57 +0000 (14:18 +0200)]
Cleanup: Rename overloaded () operators of CodeGen to more descriptive function names

Change-Id: I529c3d5c80ed7f703046a2803c492c4b15511049
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
10 years agoCleanup: Separate JS environment scanner class declaration from definition
Simon Hausmann [Tue, 6 Aug 2013 11:59:47 +0000 (13:59 +0200)]
Cleanup: Separate JS environment scanner class declaration from definition

This will allow the use of it from outside.

Change-Id: Ia05a17b4b4f3e772554979e215a6252a75a63273
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
10 years agoFix compilation with MSVC 2008 (and prospective Windows CE build fix)
Simon Hausmann [Tue, 20 Aug 2013 11:38:15 +0000 (13:38 +0200)]
Fix compilation with MSVC 2008 (and prospective Windows CE build fix)

* Only 2010 and newer ship stdint.h, so for 2008 we have to provide a little
stdint.h compat header, for some of the third-party code we import. Our own
Qt code this patch changes to use quint* types instead.

* Include math.h and float.h for some math functions.

* disable the JIT on Windows CE for now.

* Change use of intptr_t to qintptr in Qt code. intptr_t is in inttypes.h,
  except that with VS 2008 it is indirectly available through stdio.h. Let's
  avoid the mess and just use the qt type, that's always available.

Change-Id: I19055edd89e0a6b147d9edbb3b711798ed3c05a5
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
10 years agoProspective build fix for shadow builds with MSVC
Simon Hausmann [Wed, 21 Aug 2013 08:33:19 +0000 (10:33 +0200)]
Prospective build fix for shadow builds with MSVC

Don't rely on MSVC's slightly different semantics of #include with quotes,
simply include the header files from the other directory through the
syncqt generated wrappers that always work.

Change-Id: Idebb4121e4a14732494613e9b5bc383a8f52fb00
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
10 years agoChange convertUInt32ToDouble to use an int scratch register.
Erik Verbruggen [Thu, 15 Aug 2013 11:49:40 +0000 (13:49 +0200)]
Change convertUInt32ToDouble to use an int scratch register.

Only on X86, and still untested.

Change-Id: I746daa47ed019ce0017a67a228a719983b1ebaa6
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
10 years agoMerge branch 'wip/v4' of ssh://codereview.qt-project.org/qt/qtdeclarative into dev
Simon Hausmann [Tue, 20 Aug 2013 14:54:29 +0000 (16:54 +0200)]
Merge branch 'wip/v4' of ssh://codereview.qt-project.org/qt/qtdeclarative into dev

Conflicts:
src/qml/compiler/qv4codegen.cpp
src/qml/compiler/qv4codegen_p.h
src/qml/compiler/qv4isel_moth.cpp
src/qml/jsruntime/qv4context_p.h
src/qml/jsruntime/qv4functionobject.cpp
src/qml/jsruntime/qv4runtime.cpp
src/qml/jsruntime/qv4runtime_p.h
src/qml/jsruntime/qv4script.cpp
sync.profile

Change-Id: I1d785e2134bffac9553a1c16eed12816cbd1ad2c

10 years agoClean up one more header dependency for the compiler
Lars Knoll [Thu, 8 Aug 2013 13:18:21 +0000 (15:18 +0200)]
Clean up one more header dependency for the compiler

Change-Id: Ibf20a4031bbaa217ddf460607bb1612cb6d76efb
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
10 years agoRemove QV4::DiagnosticMessage
Lars Knoll [Thu, 8 Aug 2013 14:59:32 +0000 (16:59 +0200)]
Remove QV4::DiagnosticMessage

QQmlError provides the same functionality, so let's rather
use that where required. Remove the dependency of
codegen onto the ExecutionContext that was only
required for error handling.

Change-Id: Ib0b61c0e138f89ff989c32996c93c339e4b62223
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
10 years agoAdd the constant condition evaluation optimization.
Erik Verbruggen [Sun, 4 Aug 2013 15:13:51 +0000 (17:13 +0200)]
Add the constant condition evaluation optimization.

Change-Id: I244cfb13049466b65229095fbce97dd304ebb203
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
10 years agoVarious fixes to the optimizer.
Erik Verbruggen [Tue, 30 Jul 2013 14:43:10 +0000 (16:43 +0200)]
Various fixes to the optimizer.

Mainly type inference and type propagation.

Also added constant/copy propagation pass, which is disabled for the
moment.

Change-Id: I286c1fbced0d175be76868e870ca92c0da88babd
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
10 years agoFolderListModel: count property has countChanged notifier
Shawn Rutledge [Mon, 12 Aug 2013 16:35:37 +0000 (18:35 +0200)]
FolderListModel: count property has countChanged notifier

rowCountChanged is kept for compatibility but is inconsistent with
the usual naming convention.

Change-Id: I8ae72e4783c5edbbcc63319c266ac47e8f3fc5ad
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
10 years agoQQuickWindow: handle QWheelEvent::phase
J-P Nurmi [Sun, 4 Aug 2013 22:28:25 +0000 (00:28 +0200)]
QQuickWindow: handle QWheelEvent::phase

Change-Id: Id2540caae7e5703d352d0cb115529b1be1c21d96
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
10 years agoAdd linear scan register allocation.
Erik Verbruggen [Mon, 17 Jun 2013 14:32:21 +0000 (16:32 +0200)]
Add linear scan register allocation.

Currently disabled for all platforms. Will be enabled step-by-step when
specific platforms get supported.

Change-Id: I144c6c991b1666e1ff752d776bca0a7b57a4fe7c
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
10 years agoCleanup: Determine the root/entry function in isel independent code
Simon Hausmann [Mon, 19 Aug 2013 06:31:35 +0000 (08:31 +0200)]
Cleanup: Determine the root/entry function in isel independent code

Change-Id: I99004b872be9bd7d9dd0c798eb2d9bb4ddfa4cbd
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
10 years agoFix ARM build
Simon Hausmann [Mon, 19 Aug 2013 10:14:05 +0000 (12:14 +0200)]
Fix ARM build

Re-add variable only needed for ARM build and replace references
to removed codeRef variables from QV4::Function.

Change-Id: Id47fe57be2aa653bd8f81996463d970f27427f37
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
10 years agoFix class vs. struct mismatch
Simon Hausmann [Mon, 19 Aug 2013 10:12:33 +0000 (12:12 +0200)]
Fix class vs. struct mismatch

Breaks with visual studio otherwise

Change-Id: I80ce7ec269ad750e3c9a1dcfef980f57cc395461
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
10 years agoProspective MSVC build fix
Simon Hausmann [Mon, 19 Aug 2013 09:57:03 +0000 (11:57 +0200)]
Prospective MSVC build fix

It seems LoadString is somehow expanded as a macro, so call the instruction
LoadRuntimeString, which is closer to the meaning.

Change-Id: I16836b495d29db8cb1af5874762c8e66acb9c529
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
10 years agoRemove unused references to qtjsbackend from sync.profile
Simon Hausmann [Mon, 19 Aug 2013 09:10:42 +0000 (11:10 +0200)]
Remove unused references to qtjsbackend from sync.profile

Change-Id: Ieb42537df1f1b3f16aea77b5f1d1d98eaf1d1d18
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
10 years agoMerge remote-tracking branch 'origin/stable' into dev
Frederik Gladhorn [Mon, 19 Aug 2013 07:47:35 +0000 (09:47 +0200)]
Merge remote-tracking branch 'origin/stable' into dev

Conflicts:
tests/auto/quick/qquickgridview/qquickgridview.pro
tests/auto/quick/qquickitem/qquickitem.pro

Change-Id: Ic54cafbdda1ac22757d2ee65dcc63a1b167c7556

10 years agoDragging MouseArea nested in Flickable does not work with touch to mouse
Martin Jones [Mon, 12 Aug 2013 03:28:17 +0000 (13:28 +1000)]
Dragging MouseArea nested in Flickable does not work with touch to mouse

A MouseArea with a drag target nested in a Flickable does not work.
This is due to QQuickWindow calling childMouseEventFilter() twice -
once in sendFilteredTouchEvent() and later in sendEvent().

Since childMouseEventFilter() has already been called, deliver the
mouse event directly in sendFilteredTouchEvent().

Task-number: QTBUG-32920
Change-Id: I22acee3c66ee6c06e71c9c876fb02dbcb6119a8d
Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
10 years agoProspective build fix for namespaced Qt builds
Simon Hausmann [Sun, 18 Aug 2013 13:35:02 +0000 (15:35 +0200)]
Prospective build fix for namespaced Qt builds

Add missing QT_BEGIN/END_NAMESPACE

Change-Id: I6beed22d8d1713be99de114ba747cf5e17223591
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
10 years agoOptimize setting new properties on objects
Lars Knoll [Fri, 16 Aug 2013 08:11:20 +0000 (10:11 +0200)]
Optimize setting new properties on objects

When a property on an object is set for the first time,
this triggers a change in internal class for the object.
Record that change in the lookup, and do the same transition
in the future.

Change-Id: Ib0e8ac61ce3aaecb736532600740cec51996e3d6
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
10 years agoCleanup: Make isel subclass the unit generator
Simon Hausmann [Sun, 18 Aug 2013 09:29:32 +0000 (11:29 +0200)]
Cleanup: Make isel subclass the unit generator

Change-Id: Iadff4974ec6fde25c6586d03d23136ea280f9555
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
10 years agoGet rid of engine pointer in isel
Simon Hausmann [Sat, 17 Aug 2013 18:48:56 +0000 (20:48 +0200)]
Get rid of engine pointer in isel

Change-Id: I58759712624713cd2215621dca4ccc86fa9a9194
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
10 years agoFix invalid reads with strings
Simon Hausmann [Sat, 17 Aug 2013 12:54:56 +0000 (14:54 +0200)]
Fix invalid reads with strings

It may happen that a dynamically created compilation unit disappears before any
QV4::Strings it created. Those strings would still have a reference to the
QString data in the compilation unit. I don't see a choice other than making a
copy of the string data ;(. But this patch adds a flag that would allow for
avoiding it if we happen to know that the compilation unit data is static.

Change-Id: Ib35a4d2a566b301a25ffe56e392809e44e7b4ae8
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
10 years agoFix eval operating on incorrect runtime data
Simon Hausmann [Sat, 17 Aug 2013 10:08:21 +0000 (12:08 +0200)]
Fix eval operating on incorrect runtime data

Moved compilationUnit and compiledFunction into the context and set it also
during eval, along with the runtime strings.

Change-Id: I627b3bea0f7c38ad91bc5e8ee85e1484d08ed3f3
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
10 years agoRemove unused overload of newCallContext()
Lars Knoll [Sat, 17 Aug 2013 11:14:51 +0000 (13:14 +0200)]
Remove unused overload of newCallContext()

Change-Id: I9b9de585b18bf87ea256db36b320a7defdcc4ac8
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
10 years agoSmall typo fixes.
Erik Verbruggen [Fri, 9 Aug 2013 13:37:39 +0000 (15:37 +0200)]
Small typo fixes.

Change-Id: I4aca4e02e06700738337d92ebfc18995184a31f6
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
10 years agoFactor out protoHasArray and hasAccessorProperty
Peter Varga [Thu, 15 Aug 2013 13:54:15 +0000 (15:54 +0200)]
Factor out protoHasArray and hasAccessorProperty

The Object::protoHasArray() function returns true if any object in the
prototype chain contains an array element. The new member
hasAccessorProperty of the Managed class is set true if the object
has any accessor property.

Change-Id: Ic29d303eb058d4faed2a47ed8fab18e376ccba68
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
10 years agoSimplify __qmljs_call_property_lookup
Lars Knoll [Fri, 16 Aug 2013 20:08:31 +0000 (22:08 +0200)]
Simplify __qmljs_call_property_lookup

This was still using the older (and slower) member of Lookup. Instead
call the function pointer to resolve the lookup.

Change-Id: I840b063ce4cc71f71be9be23ea7ce164887c2a91
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
10 years agoNever convert the this object when calling a builtin function
Lars Knoll [Fri, 16 Aug 2013 18:40:03 +0000 (20:40 +0200)]
Never convert the this object when calling a builtin function

When calling builtin methods, the this object should should be
passed unmodified to the method. This failed so far because some
of our buitin methods where implemented slightly wrong.

Change-Id: I725f4dc952b4af6101645cf702e01b5410406a92
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
10 years agoMove arguments object creation into the generated code
Lars Knoll [Fri, 16 Aug 2013 10:54:30 +0000 (12:54 +0200)]
Move arguments object creation into the generated code

So far we've been creating the arguments object at runtime
in initCallContext(). It's much more efficient to simply add
arguments as a local variable in qv4codegen if it's being used
and initialize it through a builtin method.

Change-Id: I6913f3565adf3aa1917adae8dceef9f50ecf1722
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
10 years agoOptimize contruction of Arguments objects
Lars Knoll [Fri, 16 Aug 2013 06:53:47 +0000 (08:53 +0200)]
Optimize contruction of Arguments objects

Change-Id: If77bff28a25462a6069d646a2594dd903fefb9e5
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
10 years agoFix two small issues when construcint Array objects
Lars Knoll [Fri, 16 Aug 2013 06:52:34 +0000 (08:52 +0200)]
Fix two small issues when construcint Array objects

When constructing from a stringlist, we need to correctly
set arrayDataLen.
init() doesn't need to malloc a memberData array, as we have
4 properties stored inline.

Change-Id: Ia35bd89fe2d58b80ebba1356ba1d16f088d111e4
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
10 years agoOptimize Function.prototype.apply/call()
Lars Knoll [Thu, 15 Aug 2013 14:32:05 +0000 (16:32 +0200)]
Optimize Function.prototype.apply/call()

Use a QVarLengthArray instead of a QVector for holding
the arguments that are being passed on.

Change-Id: I41500fecb1efc94ae1735adb3c631596916ed7d2
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
10 years agoRemove unused Function::engine member and line number mapping type
Simon Hausmann [Fri, 16 Aug 2013 19:33:03 +0000 (21:33 +0200)]
Remove unused Function::engine member and line number mapping type

Change-Id: Id227139bf385aa92e539cdb0d0012e1360679c81
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
10 years agoMerge Function::init with the constructor
Simon Hausmann [Fri, 16 Aug 2013 19:31:24 +0000 (21:31 +0200)]
Merge Function::init with the constructor

Change-Id: I557f8a80aa2c74398b94e87ed0f29fe8d2297150
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
10 years agoEliminate all vm functions on the isel side
Simon Hausmann [Fri, 16 Aug 2013 19:25:39 +0000 (21:25 +0200)]
Eliminate all vm functions on the isel side

Change-Id: I7c0e50498c937ce554b019f98829fa8c5d96c18e
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
10 years agoUse indices into the runtime functions array instead of function pointers in the...
Simon Hausmann [Fri, 16 Aug 2013 19:04:15 +0000 (21:04 +0200)]
Use indices into the runtime functions array instead of function pointers in the isel for closures

Change-Id: Ieaf7b112f80adc3f1041cb1397db4eab55fb0184
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
10 years agoDoc fix
Alan Alpert [Wed, 14 Aug 2013 22:06:50 +0000 (15:06 -0700)]
Doc fix

Grammar and word choice

Change-Id: If736f1d7a6f6396101924c9357c5235605b80b43
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
10 years agoFix tst_qquickfolderlistmodel flakiness using QSignalSpy::wait.
David Faure [Fri, 16 Aug 2013 11:05:38 +0000 (13:05 +0200)]
Fix tst_qquickfolderlistmodel flakiness using QSignalSpy::wait.

The signal is emitted in a thread, so creating the spy afterwards
is racy (due to isSignalConnected() at the beginning of QMetaObject::activate).
Creating the spy before hand fixes the race, and using QSignalSpy::wait()
leads to much smaller code, in addition.
Note that the call to wait() itself isn't racy, even if it happens "after" the
signal emission: the signal goes via the event loop so it will always be received
by the main thread within the call to wait(), never before.

In addition setPath() is called once upon creation, and again via the
setProperty call. If we don't wait for the initial listing to happen,
we're replacing it, and then folderChanged is never emitted.

Change-Id: Iab7eada2e9db8ba710f05bc3b82941c782f36467
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
10 years agoGet rid of the functions list in QV4::ExecutionEngine
Simon Hausmann [Fri, 16 Aug 2013 16:35:29 +0000 (18:35 +0200)]
Get rid of the functions list in QV4::ExecutionEngine

Change-Id: I97067dbb2819936a1b2029c9f63f0627cb6b8bd2
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
10 years agoRefcount the compilation unit and remove refcount from runtime function
Simon Hausmann [Fri, 16 Aug 2013 15:25:58 +0000 (17:25 +0200)]
Refcount the compilation unit and remove refcount from runtime function

Change-Id: Iaa2f96a6814f1b39589ffcfe3c84e3c229e25f1f
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
10 years agoReduce ExecutionEngine dependencies in the moth and masm isel
Simon Hausmann [Fri, 16 Aug 2013 14:53:36 +0000 (16:53 +0200)]
Reduce ExecutionEngine dependencies in the moth and masm isel

Change-Id: Ic3d0287e15c404c5527fa6fe0dfa759631b66dd4
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
10 years agoGet rid of QV4::Function::lineNumberMappings by porting moth to the new mapping
Simon Hausmann [Fri, 16 Aug 2013 14:43:14 +0000 (16:43 +0200)]
Get rid of QV4::Function::lineNumberMappings by porting moth to the new mapping

Change-Id: Ib79489ac4c6c93042143be1f512d29c13d4cd3c6
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
10 years agoGet rid of QV4::Function::generatedValues by porting moths' regexps to runtime expres...
Simon Hausmann [Fri, 16 Aug 2013 14:40:21 +0000 (16:40 +0200)]
Get rid of QV4::Function::generatedValues by porting moths' regexps to runtime expressions

Change-Id: Iaae3c4855016948952159596d2528fca73341b72
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
10 years agoPorted identifiers in moth to use runtime strings
Simon Hausmann [Fri, 16 Aug 2013 14:35:05 +0000 (16:35 +0200)]
Ported identifiers in moth to use runtime strings

Change-Id: I09f04994a2ebe631b12fa76b77a622711de31926
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
10 years agoInitial port of moth to the new compile data structures
Simon Hausmann [Fri, 16 Aug 2013 13:57:50 +0000 (15:57 +0200)]
Initial port of moth to the new compile data structures

Change-Id: I2ead40c5c8c9b12b29c48c387ea424838d1f7d9e
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
10 years agoFix currentIndex in Qml itemView when assigning an empty model
Nils Jeisecke [Tue, 6 Aug 2013 11:58:15 +0000 (13:58 +0200)]
Fix currentIndex in Qml itemView when assigning an empty model

When assigning an empty model to e.g. a ListView after component
initialization has been completed, currentIndex is now correctly
set to -1.

Change-Id: I540c034944009ccb8894bf84f400658ef9f0371f
Task-number: QTBUG-32838
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
10 years agoMarking tst_qquickgridview as insignificant in win and macx
Simo Fält [Fri, 16 Aug 2013 08:58:05 +0000 (11:58 +0300)]
Marking tst_qquickgridview as insignificant in win and macx

This test is flaky.

Task-number: QTBUG-33017
Change-Id: I589706937a6de44291694029afb11c05a285c1cd
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
10 years agoMarking tst_qquicktextedit as insignificant in win
Simo Fält [Fri, 16 Aug 2013 09:44:37 +0000 (12:44 +0300)]
Marking tst_qquicktextedit as insignificant in win

This test haven't passed in WIN after the stage was made blocking.

Change-Id: I246f96e98080845c5364aba720158dbd42a5f454
Task-number: QTBUG-32540
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
10 years agoGet rid of the QV4::Function in the masm isel
Simon Hausmann [Fri, 16 Aug 2013 13:24:35 +0000 (15:24 +0200)]
Get rid of the QV4::Function in the masm isel

Change-Id: Ide70ca5a3f3dcc793fb96fd64f8b8df6b07d1168
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
10 years agoPorted the compile-time class setup for object literals to be run-time based
Simon Hausmann [Fri, 16 Aug 2013 11:21:31 +0000 (13:21 +0200)]
Ported the compile-time class setup for object literals to be run-time based

Change-Id: I21225e4bf0f66914229cf64fa29ce870548c0e93
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
10 years agoCleanup: Store lookup tables inside the CompilationUnit
Simon Hausmann [Fri, 16 Aug 2013 10:36:13 +0000 (12:36 +0200)]
Cleanup: Store lookup tables inside the CompilationUnit

The size of each lookup is fixed, so it's easier to include in the unit itself.

Change-Id: I66135efe4056eb0b4d7ff312eaa347fe98d8887f
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
10 years agoMake compare check against the right color
Gunnar Sletta [Tue, 13 Aug 2013 13:27:32 +0000 (15:27 +0200)]
Make compare check against the right color

Change-Id: Ie23864c782ecdda26b68eb8813799aecae7bbb7e
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
10 years agoDon't repaint the Canvas if it's just changing position.
Mitch Curtis [Thu, 15 Aug 2013 13:04:01 +0000 (15:04 +0200)]
Don't repaint the Canvas if it's just changing position.

Task-number: QTBUG-33005

Change-Id: I94613c0a0e066798800e068aee7c6288fce54dbd
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
10 years agoStore line number mappings in the compiled function
Simon Hausmann [Fri, 16 Aug 2013 06:57:58 +0000 (08:57 +0200)]
Store line number mappings in the compiled function

Change-Id: I4e37aac3618b20ccd52ce4833098781374a3daf6
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
10 years agoPorted regular expressions over to be run-time generated data
Simon Hausmann [Thu, 15 Aug 2013 13:54:36 +0000 (15:54 +0200)]
Ported regular expressions over to be run-time generated data

Change-Id: I04e693d4923c97c3d869a5beb17011f6aad85f03
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
10 years agoMerge remote-tracking branch 'origin/release' into stable
Sergio Ahumada [Thu, 15 Aug 2013 18:56:56 +0000 (20:56 +0200)]
Merge remote-tracking branch 'origin/release' into stable

Change-Id: I3953f2473e3b2cf9768286fef1c5efd08c61c6f0

10 years agoAdd changes-5.1.1 file
Alan Alpert [Tue, 13 Aug 2013 23:07:25 +0000 (16:07 -0700)]
Add changes-5.1.1 file

Task-number: QTBUG-32808
Change-Id: I44852be41c18491a38f80afa71eda8b85b51381d
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
10 years agoMarking tst_qquickitem as insignificant in win
Simo Fält [Thu, 15 Aug 2013 10:42:15 +0000 (13:42 +0300)]
Marking tst_qquickitem as insignificant in win

This test haven't passed in WIN after the stage was made blocking.

Task-number: QTBUG-32664
Change-Id: I0e84ff202d28a018e3e04dcf15f3a9ce6c66349b
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
10 years agoMarking tst_qquickmousearea as insignificant on win
Simo Fält [Thu, 15 Aug 2013 12:48:28 +0000 (15:48 +0300)]
Marking tst_qquickmousearea as insignificant on win

This test seems flaky in windows.

Task-number: QTBUG-33006
Change-Id: I1c67e1a498e4c5765580a316504e04776af5e109
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
10 years agoMake sure we propegate the filtering state to the internal texture.
Gunnar Sletta [Thu, 15 Aug 2013 11:52:16 +0000 (13:52 +0200)]
Make sure we propegate the filtering state to the internal texture.

Change-Id: Id928cf35eba254270b29a34129eb977dab34db63
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
10 years agotest: Remove v8-private for tst_pointers
Sergio Ahumada [Thu, 15 Aug 2013 14:08:10 +0000 (16:08 +0200)]
test: Remove v8-private for tst_pointers

Change-Id: I60f98d1f3563d19e141439385e9d862590d8f63f
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
10 years agoRemove identifier() from masm isel
Simon Hausmann [Thu, 15 Aug 2013 12:16:10 +0000 (14:16 +0200)]
Remove identifier() from masm isel

It isn't needed anymore.

Change-Id: Ia9977db4d247c35d170e74f68a602cecde096165
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
10 years agoFix crashes with unmarked runtime strings
Simon Hausmann [Thu, 15 Aug 2013 12:11:19 +0000 (14:11 +0200)]
Fix crashes with unmarked runtime strings

Runtime strings are identifiers, but they still require to be marked. Keep
track of all compilation units in the engine (one per file) and mark its
run-time strings.

Change-Id: Ie70b00dfa373c4567279591de2f717e8103c288f
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
10 years agoFix valgrind errors in strings in compiled data
Simon Hausmann [Thu, 15 Aug 2013 11:57:06 +0000 (13:57 +0200)]
Fix valgrind errors in strings in compiled data

Make sure to include the zero terminator in the QString data.

Change-Id: Ie3c3b6a135b012a12a1d4de8bfb16cb8cf7d4615
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
10 years agoPorted lookups to use the compiled data infrastructure
Simon Hausmann [Thu, 15 Aug 2013 10:48:05 +0000 (12:48 +0200)]
Ported lookups to use the compiled data infrastructure

Change-Id: Idf75cd51087ea825f22aabda59661be461fd3b86
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
10 years agoConvert more of the masm backend to generate code for run-time strings
Simon Hausmann [Thu, 15 Aug 2013 08:49:23 +0000 (10:49 +0200)]
Convert more of the masm backend to generate code for run-time strings

Change-Id: Ib560f86b2b32162a9344487f4cde03e76231b089
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
10 years agoFileDialogs example: added option to open the files
Shawn Rutledge [Wed, 14 Aug 2013 14:03:33 +0000 (16:03 +0200)]
FileDialogs example: added option to open the files

Qt.openUrlExternally is a nice feature to remind users about, and
gives this file dialog some purpose.

Change-Id: I56e436f8b2f4362891450d57b6d9c36e26983513
Reviewed-by: Liang Qi <liang.qi@digia.com>
10 years agoexamples: set application name and organization for QSettings
Shawn Rutledge [Tue, 6 Aug 2013 13:04:35 +0000 (15:04 +0200)]
examples: set application name and organization for QSettings

With the Qt.labs.settings module available, it makes sense for each
example to have its own settings file.

Change-Id: I8257f04ec13c7caf9995e03626e5453c653cfb92
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
10 years agoPrepare MASM for better runtime string handling
Simon Hausmann [Thu, 15 Aug 2013 08:36:41 +0000 (10:36 +0200)]
Prepare MASM for better runtime string handling

Keep the run-time functions as-is by taking String pointers and use a little
bit of inline assembly to resolve the string ids to string pointers, by
adding a runtimeStrings array pointer next to the lookups in the context
(similar mechanism).

Change-Id: Ib5a70bdf47fef7c447d646ccfe03f3dc30d39f20
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
10 years agoImprove reliability of v4 debugger tests
Simon Hausmann [Tue, 13 Aug 2013 10:00:39 +0000 (12:00 +0200)]
Improve reliability of v4 debugger tests

Sometimes the test hangs on shutdown. Don't wait for the finished signal to be
emitted with an event loop, instead do the QThread equivalent of pthread_join:
wait().

Change-Id: I3583e8366c08fc0446682d124d86df4ffa3290d3
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
10 years agoInitialize formals and locals from the compiled function data instead of in the isel
Simon Hausmann [Thu, 15 Aug 2013 07:41:09 +0000 (09:41 +0200)]
Initialize formals and locals from the compiled function data instead of in the isel

Change-Id: I9db976df310a5986ceca66d21efeeae536dbede4
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
10 years agoStore the file name per compilation unit, not per compiled function
Simon Hausmann [Thu, 15 Aug 2013 07:23:42 +0000 (09:23 +0200)]
Store the file name per compilation unit, not per compiled function

Change-Id: Id699897b241a9ff6495689e5685092d311acb8c2
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
10 years agoMove codeRef out of QV4::Function
Simon Hausmann [Wed, 14 Aug 2013 18:06:03 +0000 (20:06 +0200)]
Move codeRef out of QV4::Function

Change-Id: I65700b9cc4907aaa28623a95204e88f87fccfd49
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
10 years agoMove the masm compilation unit entirely into qv4isel_masm
Simon Hausmann [Wed, 14 Aug 2013 14:35:18 +0000 (16:35 +0200)]
Move the masm compilation unit entirely into qv4isel_masm

Change-Id: If24b6a761dc2f2443520b31b5130ab44b739cdf3
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
10 years agoMove QV4::Function::sourceFile to CompiledFunction
Simon Hausmann [Wed, 14 Aug 2013 14:02:56 +0000 (16:02 +0200)]
Move QV4::Function::sourceFile to CompiledFunction

Change-Id: Iacf907c475070bab4a5a1583280f110c089141c4
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
10 years agoGet rid of flags in QV4::Function and use CompiledFunction::flags instead
Simon Hausmann [Wed, 14 Aug 2013 13:58:54 +0000 (15:58 +0200)]
Get rid of flags in QV4::Function and use CompiledFunction::flags instead

Change-Id: Iffe72ff6dd0311d7548d1ea41164a400fd3a7600
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
10 years agoFix writing the function offset table and initialize the pointer to the compiled...
Simon Hausmann [Wed, 14 Aug 2013 13:44:53 +0000 (15:44 +0200)]
Fix writing the function offset table and initialize the pointer to the compiled function in the runtime function

Change-Id: I9aed9f394fedc4a4ea334f6ab1b72fe749c64c72
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
10 years agoBegin using the compiled data structures for runtime strings
Simon Hausmann [Wed, 14 Aug 2013 08:17:37 +0000 (10:17 +0200)]
Begin using the compiled data structures for runtime strings

Change-Id: Idbf278a96624bf101df35de40577b38e593f22be
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
10 years agoInitial version of generator for new data structures
Simon Hausmann [Wed, 14 Aug 2013 08:17:31 +0000 (10:17 +0200)]
Initial version of generator for new data structures

Change-Id: I172a504f8b4f8284967a4a02e207bf4c0a04c2a4
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
10 years agoUnset the cursor when an Item is unparented
Daiwei Li [Fri, 9 Aug 2013 19:04:41 +0000 (12:04 -0700)]
Unset the cursor when an Item is unparented

It's possible for a cursor to get stuck if an item
gets deleted. QQuickItemPrivate::derefWindow sets
the cursorItem in QQuickWindowPrivate to 0, but
doesn't unset the cursor. This causes the cursor
to get stuck until the user hovers their mouse over
an item that has a cursor set.

Change-Id: I1d5d3ff13d69c76e4f8fe86b1f5b669bb714ecca
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
10 years agoAdd changes-5.2.0 file
J-P Nurmi [Wed, 14 Aug 2013 08:01:48 +0000 (10:01 +0200)]
Add changes-5.2.0 file

Change-Id: I1574531ae13998f3fbf77c72cc04247a3b053c2e
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
10 years agoFix Array.prototype.concat
Peter Varga [Tue, 13 Aug 2013 08:43:15 +0000 (10:43 +0200)]
Fix Array.prototype.concat

The following tests failed in the test262 test suite due to incomplete
implementation:
- ch15/15.4/15.4.4/15.4.4.4/15.4.4.4-5-c-i-1
- ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A2_T1
- ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A2_T2
- ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A3_T1

Change-Id: I423e77fe3d34140a08c61efdc18c81ef251bc927
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
10 years agoAdd utility conversion methods for use in the JIT.
Erik Verbruggen [Tue, 30 Jul 2013 14:53:03 +0000 (16:53 +0200)]
Add utility conversion methods for use in the JIT.

Change-Id: Iec3eeb849df924919662e8d2ca6593d66c70e3eb
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
10 years agoMake some clone methods statically accessible.
Erik Verbruggen [Tue, 30 Jul 2013 14:39:11 +0000 (16:39 +0200)]
Make some clone methods statically accessible.

Change-Id: I5943c30d239a26869fefec608cb8e4a27a31aaaa
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
10 years agoMove the Param struct out of the Instr union.
Erik Verbruggen [Fri, 9 Aug 2013 13:57:28 +0000 (15:57 +0200)]
Move the Param struct out of the Instr union.

The parameter struct was accidentally put in the instruction union. As
it is not an instruction, it should not be part of that union.

Change-Id: Id70619fed50ae606f43f2c1701f28aea0a0baed7
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
10 years agoAdded an iterative version of factorial as a (performance) test.
Erik Verbruggen [Thu, 1 Aug 2013 12:06:52 +0000 (14:06 +0200)]
Added an iterative version of factorial as a (performance) test.

Change-Id: I2c64b84d060792c0a1b111b854495cafcf24db33
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
10 years agoSay hello to Qt.labs.settings
J-P Nurmi [Mon, 17 Jun 2013 16:26:38 +0000 (18:26 +0200)]
Say hello to Qt.labs.settings

Change-Id: Id4970555b2cbbc2df893dd6269fb8b884ce06e45
Reviewed-by: Alan Alpert (Personal) <416365416c@gmail.com>
10 years agoMerge "Merge remote-tracking branch 'origin/release' into stable" into refs/staging...
Sergio Ahumada [Tue, 13 Aug 2013 22:18:19 +0000 (00:18 +0200)]
Merge "Merge remote-tracking branch 'origin/release' into stable" into refs/staging/stable

10 years agotest: Mark tst_qqmlmoduleplugin::incorrectPluginCase() as XFAIL
Sergio Ahumada [Mon, 12 Aug 2013 08:30:58 +0000 (10:30 +0200)]
test: Mark tst_qqmlmoduleplugin::incorrectPluginCase() as XFAIL

Mark incorrectPluginCase() as expected failure on OS X 10.8

Task-number: QTBUG-32652
Change-Id: I8fd2c0ceacabfc74defe84fc6538b268145c5110
Reviewed-by: Simo Fält <simo.falt@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
10 years agoChange post-increment/-decrement to not use a built-in.
Erik Verbruggen [Sat, 27 Jul 2013 13:12:22 +0000 (15:12 +0200)]
Change post-increment/-decrement to not use a built-in.

Change-Id: I98af408db1e5d23e73a77d2614071bc998170f5e
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
10 years agoDoc: Renamed accessibility example to "quick-accessibility".
Jerome Pasion [Mon, 12 Aug 2013 15:53:40 +0000 (17:53 +0200)]
Doc: Renamed accessibility example to "quick-accessibility".

-Generated HTML file name conflicted with accessibility group.

Task-number: QTBUG-32580
Change-Id: I5f5a4bb8134268c58105ea61d5ae3bbdd35c0d50
Reviewed-by: Martin Smith <martin.smith@digia.com>