platform/upstream/qtdeclarative.git
11 years agoAdd reference counting to the VM functions
Simon Hausmann [Fri, 9 Aug 2013 14:45:02 +0000 (16:45 +0200)]
Add reference counting to the VM functions

This reduces memory pressure, keep engine->functions small and thus makes back
trace lookup faster. It became visible for example in the QtQuickControls
auto-tests that use plenty of loaders and we ended up with 30k+ functions.

Change-Id: Iaa5981f44e1e49ad9417a50c1e6a74946090dd28
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
11 years agoImprove reliability of tst_qqmlcomponent::onDestructionLookup auto test on Windows
Simon Hausmann [Mon, 12 Aug 2013 09:55:53 +0000 (11:55 +0200)]
Improve reliability of tst_qqmlcomponent::onDestructionLookup auto test on Windows

The test relies on exact garbage collection, which we can't offer anymore.
But we can use the same tricks as in qqmlecmascript to improve the changes
of a successful collect significantly.

Change-Id: I7b3d7eca7a9bdb551a01a5a3da80549196c45f23
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
11 years agoSupport opt-in QSGNode descriptions without breaking binary compat.
Gunnar Sletta [Fri, 2 Aug 2013 19:04:44 +0000 (21:04 +0200)]
Support opt-in QSGNode descriptions without breaking binary compat.

This define is quite useful for debugging scene graph internals, but
it is disabled by default to conserve memory.

For clarity, I renamed the define to QSG_RUNTIME_DESCRIPTION.

Change-Id: Ie5ff44d67af38adc65d0d09255d8533dc7a33bff
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
11 years agoIntroduce QSGMaterial::CustomCompileStep
Gunnar Sletta [Tue, 6 Aug 2013 12:18:19 +0000 (13:18 +0100)]
Introduce QSGMaterial::CustomCompileStep

Nobody reimplements the virtual QSGMaterialShader::compile()
function, so we disable that code path and make it opt-in for
compatibility.

We do this, because opens up for that the renderer can do something
different, including changing the source code to allow for better
optimization.

Change-Id: Ia72f9eda7d6428e26878158ab03349f753a35c66
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
11 years agoGet rid of unused outer function pointer of QV4::Function
Simon Hausmann [Fri, 9 Aug 2013 08:41:35 +0000 (10:41 +0200)]
Get rid of unused outer function pointer of QV4::Function

Change-Id: I3ea88d3c259447081d1ac5f85d7da95fed8f02f6
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
11 years agoDocument parenting behaviour of delegates in QML ListView and Component.
Tomasz Siekierda (sierdzio) [Sun, 4 Aug 2013 10:12:26 +0000 (12:12 +0200)]
Document parenting behaviour of delegates in QML ListView and Component.

ListView:
As delegates are instantiated in ListView, they are parented to views
contentItem. This is now explicitly stated in the documentation.

Component:
Components are not derived from Items, so they cannot hook to anchors.

Task-number: QTBUG-24822
Change-Id: I09e04fbcc01b2858c039d22f9600ef201a9a91ab
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
11 years agoFix binop related crashes in the interpreter
Simon Hausmann [Fri, 9 Aug 2013 08:06:10 +0000 (10:06 +0200)]
Fix binop related crashes in the interpreter

if (foo instanceof blah) would crash because we generated a BinOp instruction
with a null aluop pointer. Instanceof, in and add are binops that now require
a context, and thus require a different instruction (BinOpContext). This was
already handled by the traditional binop() of the isel, but not by the binop
expression that can be in a cjump. Centralize the code by calling a common
binop helper from isel binop as well as cjump.

Change-Id: I793ee3eebe56db4c86d5399a783a84be3093fd35
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
11 years agoFix invalid condition in comparisson.
Erik Verbruggen [Fri, 9 Aug 2013 10:18:29 +0000 (12:18 +0200)]
Fix invalid condition in comparisson.

Thanks to clang (top-of-trunk) pointing out that the unary not operator
only applies to the left-hand side of the equality expression.

Change-Id: I093b447d55995a4122aeac042a506eb56f8b2442
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
11 years agoDoc: Moved QML "plugins" example to "qmlextensionplugins"
Jerome Pasion [Thu, 8 Aug 2013 15:42:48 +0000 (17:42 +0200)]
Doc: Moved QML "plugins" example to "qmlextensionplugins"

The example generates a plugins.html which collides with the
plugins.html from qtbase repository.

Task-number: QTBUG-32580
Change-Id: I47ce9e00378738f7696672e6e47dd3337bb4fafc
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
11 years agoTrivial compile fix for tools/v4/v4
Simon Hausmann [Thu, 8 Aug 2013 13:30:58 +0000 (15:30 +0200)]
Trivial compile fix for tools/v4/v4

Change-Id: Idc17c13630d3684d9ae280632da1d1403700838e
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
11 years agoFix tst_qqmlecmascript::scope() and behavioural compatibility with v8 based qml
Simon Hausmann [Thu, 8 Aug 2013 12:57:36 +0000 (14:57 +0200)]
Fix tst_qqmlecmascript::scope() and behavioural compatibility with v8 based qml

In the V8 based QML the global object would come _before_ the "QML global object",
which is the QML context (wrapper). We had a bunch of tests that verify the exact
scope chain and with this "compatibility" fix we can re-enable them.

Also fix missing prototype setup for the console object.

Change-Id: Ib3886f2d86472eb752a6ad1a2d8d89709548c5b4
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
11 years agoExport QJSValuePrivate
Alex Blasche [Thu, 8 Aug 2013 11:41:33 +0000 (13:41 +0200)]
Export QJSValuePrivate

Declarative components of QtLocation require it.

Change-Id: Ie520d3131718c15c0908c784d9486a5674570a54
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
11 years agoFix another bug with automatic semicolon insertion
Simon Hausmann [Thu, 8 Aug 2013 12:17:53 +0000 (14:17 +0200)]
Fix another bug with automatic semicolon insertion

Avoid empty statements after else.

Change-Id: Ia7782a3371bc79c7e93857aa252309d2824a5a9e
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
11 years agoFix hasOwnProperty on various types wrapped in QML
Simon Hausmann [Thu, 8 Aug 2013 10:52:56 +0000 (12:52 +0200)]
Fix hasOwnProperty on various types wrapped in QML

* Change semantics of Object::query to not walk the prototype chain but let the
  caller do that where needed (__hasProperty__)
* Re-implement query in various places
* Implement method_hasOwnProperty to fall back to query() if getOwnProperty failed
* Fix missing prototype initialization in some qml wrappers, as well as missing base
  class calls to ::get()

Change-Id: Ic2a702fd5ff3be2ff3c8317a8a24f99940a9594f
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
11 years agoClean up some header dependencies
Lars Knoll [Thu, 8 Aug 2013 11:35:17 +0000 (13:35 +0200)]
Clean up some header dependencies

The compiler should have as little dependencies onto
the runtime as possible.

Change-Id: I3e16a55a4920299945ed405926a6851ed947f42d
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoThe Moth VME is actually part of the runtime, not the compiler
Lars Knoll [Thu, 8 Aug 2013 11:27:38 +0000 (13:27 +0200)]
The Moth VME is actually part of the runtime, not the compiler

Change-Id: Idcb7a6b6157c58e33192f86750ded487c0e75b9f
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoMove the parser folder from src/qml/qml to src/qml
Lars Knoll [Thu, 8 Aug 2013 11:17:32 +0000 (13:17 +0200)]
Move the parser folder from src/qml/qml to src/qml

Change-Id: I5e5684f5b98b00f791ade99c4cb6bc2ed880ad6a
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoMove the JS Api into it's own folder
Lars Knoll [Thu, 8 Aug 2013 11:02:40 +0000 (13:02 +0200)]
Move the JS Api into it's own folder

Change-Id: I7ef371ff929387097862121b73a7a5863b51ccf1
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoRemove outdated notes file
Lars Knoll [Thu, 8 Aug 2013 10:59:29 +0000 (12:59 +0200)]
Remove outdated notes file

Change-Id: I612e6703616247c754935e43204718ebce7f1cd8
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoAvoid redundant state changes in distancefield text shader
Gunnar Sletta [Wed, 7 Aug 2013 11:18:10 +0000 (13:18 +0200)]
Avoid redundant state changes in distancefield text shader

Change-Id: I7efdd167192017acefb4745d433b77b6d0ff85e7
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
11 years agoDisable the udis86 disassembler by default
Lars Knoll [Thu, 8 Aug 2013 07:58:18 +0000 (09:58 +0200)]
Disable the udis86 disassembler by default

It's only required for debugging the JIT, and thus
shouldn't be included in a regular build. Enable it
with CONFIG+=disassembler

Change-Id: I71264da0be00e8618f120ac9d3d06e6cb4b6dfae
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoRemove the now unused rewriter directory
Lars Knoll [Thu, 8 Aug 2013 07:31:39 +0000 (09:31 +0200)]
Remove the now unused rewriter directory

The qml rewriter is not needed anymore with the
new JS engine

Change-Id: I87fe92eff6e28f6699df6377c1aca5a5b1c92ddd
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoRestructure source code
Lars Knoll [Thu, 8 Aug 2013 07:20:52 +0000 (09:20 +0200)]
Restructure source code

Move the v4 engine classes from a subdir of qml/qml into
two subdirs (compiler and jsruntime) of the qml module
Remove an unsued qv4syntaxchecker class, and move
the moth code directly into compiler.

Change-Id: I6929bede1f25098e6cb2e68087e779fac16b0c68
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoRemove the llvm isel backend
Lars Knoll [Thu, 8 Aug 2013 06:58:48 +0000 (08:58 +0200)]
Remove the llvm isel backend

This code never worked.

Change-Id: I0fd7421ae983f3ad43e84e5d7579cdbb610ab2b2
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoOptimize the JS == operator
Lars Knoll [Tue, 6 Aug 2013 20:55:09 +0000 (22:55 +0200)]
Optimize the JS == operator

Implement the isEqualTo vtable method for
String, and use that to compare strings and
objects in the == implementation in one go.

Change-Id: I823ae5c4ed0683105e7a6fc5b414db92d1766fc4
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoRemove context argument from most binops
Lars Knoll [Mon, 5 Aug 2013 21:41:42 +0000 (23:41 +0200)]
Remove context argument from most binops

Change-Id: I4fa2636f1b2c8e8426b64d6e16bc7c223e6f327a
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoSpeed up JS comparison operations
Lars Knoll [Mon, 5 Aug 2013 20:48:35 +0000 (22:48 +0200)]
Speed up JS comparison operations

Remove the not used context parameter where possible, and
simplify the NaN != NaN case.

Change-Id: I05e9639f7bac4bb1db2f33d70f063c71561ffd34
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoEnable QtDeclarative for iOS
Richard Moe Gustavsen [Wed, 7 Aug 2013 07:54:07 +0000 (09:54 +0200)]
Enable QtDeclarative for iOS

Change-Id: I44fce954fbe2abd1903991464c0e7f74e840b719
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoProspective fix for builds in the CI system on Windows machines
Simon Hausmann [Wed, 7 Aug 2013 08:20:13 +0000 (10:20 +0200)]
Prospective fix for builds in the CI system on Windows machines

Don't check out the test262 module by default, it isn't strictly necessary
at this point and is causing issues on some Windows machines.

Change-Id: I633404f1c00d83dcbdca06a1d287623190323028
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
11 years agosync.profile: Point dependencies to an empty string again
Sergio Ahumada [Tue, 6 Aug 2013 18:23:59 +0000 (20:23 +0200)]
sync.profile: Point dependencies to an empty string again

Change-Id: Ia39c708722ad99b43d3aa2541eb22524ff819ebb
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoMerge "Merge branch 'stable' into dev" into refs/staging/dev
Sergio Ahumada [Tue, 6 Aug 2013 14:07:23 +0000 (16:07 +0200)]
Merge "Merge branch 'stable' into dev" into refs/staging/dev

11 years agoMerge branch 'wip/v4' of ssh://codereview.qt-project.org/qt/qtdeclarative into dev
Simon Hausmann [Tue, 6 Aug 2013 13:57:54 +0000 (15:57 +0200)]
Merge branch 'wip/v4' of ssh://codereview.qt-project.org/qt/qtdeclarative into dev

Change-Id: I278524d0f43d2237201d9cf78c1c36a5ecc83d84

11 years agoFix some GC related tests to work with MSVC
Simon Hausmann [Tue, 6 Aug 2013 09:57:42 +0000 (11:57 +0200)]
Fix some GC related tests to work with MSVC

Using alloca instead of memset we can convince even MSVC to allocate memory on the
stack, to overwrite any previous dead V4 pointers.

Change-Id: Ic01bebfc6368e9c3ce1f6155a0f0ea206b90764c
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
11 years agoSkip the date time conversion tests on Windows
Simon Hausmann [Mon, 5 Aug 2013 14:17:09 +0000 (16:17 +0200)]
Skip the date time conversion tests on Windows

There's an issue in QDateTime, now that we're using that in our ECMAScript
date implementation...

Change-Id: I7599900a670097623d1b7e5b9bb086ef43d6e7e6
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
11 years agoDisable some GC sensitive tests with MSVC
Simon Hausmann [Mon, 5 Aug 2013 14:06:20 +0000 (16:06 +0200)]
Disable some GC sensitive tests with MSVC

We can't get these tests to work reliably with MSVC because it depends on
how MSVC optimizes away memory stores that are "dead" stores for the compiler
but not for our conservative collector.

Change-Id: Ia5ca197573a09358c220d926deccaaf0bacc3a0b
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
11 years agoFix integer preserving arithmetics with the interpreter
Simon Hausmann [Mon, 5 Aug 2013 13:55:45 +0000 (15:55 +0200)]
Fix integer preserving arithmetics with the interpreter

This fixes qqmllanguage and some other auto-tests with the interpreter

When adding numbers, make sure to preserve them as integer if left and
right hand side are integers. We do this now consistently throughout
the runtime by providing fallback implementations of mul/sub/add_int32.

Change-Id: I37e24ce14dc676bb072571b57289965ec59999c1
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
11 years agoFix line number resolution with the interpreter and try {} catch {}
Simon Hausmann [Mon, 5 Aug 2013 13:20:08 +0000 (15:20 +0200)]
Fix line number resolution with the interpreter and try {} catch {}

When re-entering the interpreter for a try block, we use a different code
pointer and therefore need to set context->interpreterInstructionPointer
accordingly. We do that now at the beginning of run(), before we start
interpreting the instructions. When returning from a try block, we continue
using the old "code" pointer and therefore need to set
context->interpreterInstructionPointer back.

Change-Id: I607aef104d5f74bb0c44c6635619c99a6b397bce
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
11 years agoOptimize lookups in the property cache
Lars Knoll [Mon, 5 Aug 2013 10:38:43 +0000 (12:38 +0200)]
Optimize lookups in the property cache

Change-Id: I0df182a18ab35ad8744fd23243286c7c501cd4a9
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoSupport multiple quoted font families in Context2D font property.
Mitch Curtis [Thu, 1 Aug 2013 18:16:58 +0000 (20:16 +0200)]
Support multiple quoted font families in Context2D font property.

Currently, it's not possible to specify more than one font family in
Context2D's font property. Also, any family with spaces in its name will
fail to be read, and quoting the name will also fail.

This patch makes it possible to specify several font families as per
the CSS shorthand font property spec, as well as quoting of font
families with spaces in their names.

Task-number: QTBUG-32727

Change-Id: I2bc1f1d2b7f5f8f0519e73f4001b4a8242bb039c
Reviewed-by: Karim Pinter <karim.pinter@digia.com>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
11 years agoFix stack traces into interpreter code
Simon Hausmann [Mon, 5 Aug 2013 10:22:27 +0000 (12:22 +0200)]
Fix stack traces into interpreter code

Make sure to initialize the interpreter instruction pointer pointer
before executing byte code.

Change-Id: I57115699923eeeea627d83536b464f29926d443c
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
11 years agoFix race condition in tst_QQuickFolderListModel::basicProperties
Simon Hausmann [Mon, 5 Aug 2013 09:13:07 +0000 (11:13 +0200)]
Fix race condition in tst_QQuickFolderListModel::basicProperties

The FLM updates its contents asynchronously using a thread, so before
we query for the new properties after changing the folder, make sure the
thread finished updating.

Change-Id: Icbd72801f639f9dffdc0dd85fbbd8b3ee53fedda
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
11 years agoDoc: Updated Qt QML and Qt Quick module pages.
Jerome Pasion [Thu, 1 Aug 2013 10:36:45 +0000 (12:36 +0200)]
Doc: Updated Qt QML and Qt Quick module pages.

-added \qtvariable
-added Qt QML to the modules group

Change-Id: I524bbcea501b7ab5ea49482de0119e3e6d630065
Reviewed-by: Martin Smith <martin.smith@digia.com>
11 years agoAllow passing a message to tryCompare
Albert Astals Cid [Fri, 2 Aug 2013 10:44:32 +0000 (12:44 +0200)]
Allow passing a message to tryCompare

Also adds a check to make sure timeout is a number, for people
that are moving from compare() to tryCompare() and forget of the extra
timeout parameter

Change-Id: I54e56e2014c022e06622edebca1fd36172c75009
Reviewed-by: Yunqiao Yin <charles@mazymind.com>
Reviewed-by: Caroline Chao <caroline.chao@digia.com>
11 years agoMerge branch 'stable' into dev
Sergio Ahumada [Mon, 5 Aug 2013 08:42:21 +0000 (10:42 +0200)]
Merge branch 'stable' into dev

Conflicts:
.qmake.conf

Change-Id: I06f79bcbde13c7b12905492a17dbcbb4a594e557

11 years agoFixed wrong Context2d text baseline offset ajust
Wesley Ceraso Prudencio [Fri, 2 Aug 2013 01:28:41 +0000 (22:28 -0300)]
Fixed wrong Context2d text baseline offset ajust

Fixed wrong Context2d text baseline offset ajust for "middle" and
"hanging" options.

Task-number: QTBUG-32463

Change-Id: Iad0b49bfc2129e008025ea7c6eb9e7d99ac7483d
Signed-off-by: Wesley Ceraso Prudencio <wesleyceraso@gmail.com>
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Reviewed-by: Yunqiao Yin <charles@mazymind.com>
11 years agoFix tst_qquickpath not to use fuzzy compare
Rafael Roquetto [Tue, 30 Jul 2013 20:07:48 +0000 (17:07 -0300)]
Fix tst_qquickpath not to use fuzzy compare

On arm platforms, qreal == float. QPointF stores its coordinates internally on
qreal variables (float on arm). When QPointF comparison takes place, a call to
qFuzzyIsNull(float) will ultimately be triggered, causing the test to fail for
some values, because the epsilon of 0.00001f is too small.

In the particular case regarding BB10, the comparison between QPointF(100,
150) and QPointF(99.9999771, 150) is failing because of that.

Change-Id: I53c8cfe7f8a975f6a015e7690702d3e5f05bc2f2
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
11 years agoFix tst_qquicktextedit
Rafael Roquetto [Mon, 22 Jul 2013 20:40:22 +0000 (17:40 -0300)]
Fix tst_qquicktextedit

- Use showNormal() instead of show() to keep expected window sizes on
  fullscreen platforms.
- Use consistent point size for hAlignVisual
- Do not query for QQmlComponent::Loading on remoteCursorDelegate: when a new
  connection is established to the test http server, it will setup a single
  shot QTimer with a 500ms timeout that will trigger the reply to be sent
  back, making the call to sendDelayedItem() obsolete and reduntant. Also, it
  means that in some platforms, data will arrive back to the component before
  the check for QQmlComponent::Loading is executed, causing the test to fail
  since at this point the status will already be QQmlComponent::Ready instead.

Change-Id: I6508c28fa55a1aa2ae5861922701a8c322342380
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Reviewed-by: Wolfgang Bremer <wbremer@blackberry.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
11 years agoavoid redundant calls to glActiveTexture
Gunnar Sletta [Thu, 1 Aug 2013 14:19:15 +0000 (16:19 +0200)]
avoid redundant calls to glActiveTexture

Change-Id: I00b5c82d76473a10f64f5a3aa0cd19ef88319ed6
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
11 years agoRemove redundant calls...
Gunnar Sletta [Thu, 1 Aug 2013 11:34:48 +0000 (13:34 +0200)]
Remove redundant calls...

Geometry ownership only matters when the node is or the entire
geometry object is replaced. Accessing the bits in it can be
done without any issues.

Change-Id: I6da636bc5cdbda03039e00922e599932f4117d1a
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
11 years agoAvoid using connect in QQuickImplicitSizeItem.
Michael Brasser [Thu, 1 Aug 2013 13:44:27 +0000 (08:44 -0500)]
Avoid using connect in QQuickImplicitSizeItem.

In the past connect has shown up as a noticeable cost in item
creation. Avoid the use here by refactoring to call base class
implementation and emit override signal as well.

Task-number: QTBUG-32764
Change-Id: If3e5a1cc55c113d812705fcfdc7a17aee9d6f51c
Reviewed-by: Alan Alpert (Personal) <416365416c@gmail.com>
11 years agoFix crash when changing non-cached source of image during animation
Michael Brasser [Fri, 19 Jul 2013 19:32:17 +0000 (14:32 -0500)]
Fix crash when changing non-cached source of image during animation

Ensure deferred deletions are handled while syncing, otherwise texture
might be deleted after sync but before deferred deletion is processed.

Task-number: QTBUG-32513
Change-Id: Id276f536a5722a36baae815b7b550b574eeeb483
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
11 years agoRemove comment that QQuickPaintedItem is only useful for porting.
Gunnar Sletta [Thu, 1 Aug 2013 06:34:20 +0000 (08:34 +0200)]
Remove comment that QQuickPaintedItem is only useful for porting.

Change-Id: I5d4a7917baa7c8f8dd7cfe3f49c6cf4fe5532ac0
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
11 years agoFixed distance field text getting clipped at small sizes.
Yoann Lopes [Thu, 1 Aug 2013 13:55:45 +0000 (15:55 +0200)]
Fixed distance field text getting clipped at small sizes.

Task-number: QTBUG-32750
Change-Id: I6bdf63d3cbcaaeb54c7c1ae25dfc55fc7e964075
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
11 years agoMore QUrl/QString conversion in FileDialog implementation
Shawn Rutledge [Thu, 1 Aug 2013 13:39:56 +0000 (15:39 +0200)]
More QUrl/QString conversion in FileDialog implementation

Followup to 6499098a04c7a8a1193413500cd562f781df38bb :
because the signals in QPlatformFileDialogHelper emit URLs and
QFileDialog does not provide compatible signals, the bridge class
QFileDialogHelper must provide slots to convert strings to URLs and
emit the signals.  Therefore QFileDialogHelper needs the Q_OBJECT
macro, and therefore it helps to move its declaration to the private
header to avoid confusing moc.

Change-Id: I088ff73d107a460af3f8695401276b45a66b5d59
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
11 years agoDoc: Clean up docs for PathView.highlightRangeMode enum values
Topi Reinio [Tue, 16 Jul 2013 13:01:57 +0000 (15:01 +0200)]
Doc: Clean up docs for PathView.highlightRangeMode enum values

Fix PathView.NoHighlightRange description, move the enum values
into a list, and do some minor editing.

Task-number: QTBUG-16160
Change-Id: I5356c21ea3244ce43defa346da11696a8706c71f
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
11 years agoRectangle which only draw an opaque border should not be blended.
Gunnar Sletta [Tue, 30 Jul 2013 20:16:19 +0000 (22:16 +0200)]
Rectangle which only draw an opaque border should not be blended.

Change-Id: I55996a1c38ad6da4566d2160155503a27ad4a20b
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
11 years agoProspective iOS build fix
Simon Hausmann [Wed, 31 Jul 2013 14:38:24 +0000 (16:38 +0200)]
Prospective iOS build fix

For some reason no Makefile is created for this .pro file. TEMPLATE = app
should be the default, but OTOH it's missing here.

Change-Id: I499d13368944e552ee85a0c6f194c09e4c19bf8e
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoStabilize tst_qquickitem.
Friedemann Kleint [Fri, 26 Jul 2013 14:56:49 +0000 (16:56 +0200)]
Stabilize tst_qquickitem.

Instantiate windows and views on the stack or add
QScopedPointer. Add waitForWindowExposed() after show().
Add diagnostic message.

Task-number: QTBUG-32664
Change-Id: I190f2a0490b8333a7886a23e26582c6cb615df94
Reviewed-by: Simo Fält <simo.falt@digia.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
11 years agoAdd diagnostic output to tst_qquickpathview::cancelDrag().
Friedemann Kleint [Mon, 29 Jul 2013 12:46:37 +0000 (14:46 +0200)]
Add diagnostic output to tst_qquickpathview::cancelDrag().

Task-number: QTBUG-32662
Change-Id: I62b53f94659be95b3bef86f853733998d4d882dc
Reviewed-by: Simo Fält <simo.falt@digia.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
11 years agoCorrectly update flickable visibleArea.heightRatio when geometry changes
Nils Jeisecke [Tue, 30 Jul 2013 11:59:01 +0000 (13:59 +0200)]
Correctly update flickable visibleArea.heightRatio when geometry changes

Without this fix the visibleArea.heightRatio and widthRatio values
were only updated on geometry changes when flicking was active.

So when setting the flickable geometry to the content geometry and
thereby disabling flicking the ratios were not updated.

This could for example cause wrong scrollbar renderings.

The ratios are now also calculated directly after accessing the
visibleArea property for the first time.

The new autotest covers both problems.

Change-Id: I54ba606524557fb328a198c312c1f65eb125c5a3
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
11 years agoMacOS: get instruction stream after closing buffer.
Erik Verbruggen [Sat, 27 Jul 2013 13:11:27 +0000 (15:11 +0200)]
MacOS: get instruction stream after closing buffer.

Otherwise the QByteArray's constData might have been relocated, and the
output might be anything but correct (e.g. empty).

Change-Id: I2eb1223d2e0577f41c8f9e6ce81cb65af05166da
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
11 years agoClean up objects in QQmlApplicationEngine earlier
Alan Alpert [Tue, 30 Jul 2013 22:27:31 +0000 (15:27 -0700)]
Clean up objects in QQmlApplicationEngine earlier

Deleting the objects in the private class destructor leads to
crashes in V8 because the JS engine is in the middle of being
deleted. Instead, delete the objects in the public class
destructor so that it occurs before the actual engine cleanup
starts to happen.

Change-Id: I6bac813ce188be54842a78d7b532fcf2d54dc444
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
11 years agoDisable qtdeclarative on iOS
Simon Hausmann [Tue, 30 Jul 2013 12:28:49 +0000 (14:28 +0200)]
Disable qtdeclarative on iOS

It's also currently disabled in qtbase' configure, but the tweak there will
go away soon as the wip/v4 branch of qtdeclarative is subject to _enabling_
on iOS.

Change-Id: I8c17387ada467235d79d40a6cd6f5d0f8c173186
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
11 years agoAdded convertUInt32ToDouble for X86(_64)
Erik Verbruggen [Wed, 24 Jul 2013 14:45:20 +0000 (16:45 +0200)]
Added convertUInt32ToDouble for X86(_64)

Change-Id: Ie6c918730d0ece0e9e63254ae97c257ee013f2f4
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoDisable the JIT on Windows 64-bit again until the exception support is implemented
Simon Hausmann [Tue, 30 Jul 2013 12:09:43 +0000 (14:09 +0200)]
Disable the JIT on Windows 64-bit again until the exception support is implemented

Use the interpreter in the meantime, so that we get sensible test results in the CI system

Change-Id: Ib8089836b705433cd15e037d4d2dd662648c941f
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
11 years agoFix image URL
Alan Alpert [Mon, 29 Jul 2013 18:45:15 +0000 (11:45 -0700)]
Fix image URL

Change-Id: I4abac2a842453dbf6838f55703956b2fd53b8f37
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
11 years agoQQuickListViewPrivate::updateStickySections(): add missing null check
J-P Nurmi [Mon, 29 Jul 2013 19:50:41 +0000 (21:50 +0200)]
QQuickListViewPrivate::updateStickySections(): add missing null check

Task-number: QTBUG-32711
Change-Id: I45ed6829f2c240e8352dac33beeee803cb88a18d
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
11 years agoFix tst_QQuickDrag::recursion()
Rafael Roquetto [Fri, 26 Jul 2013 20:58:00 +0000 (17:58 -0300)]
Fix tst_QQuickDrag::recursion()

Process events and handle number of move events correctly.

Change-Id: I555582ad4e10d5c76bbdc8ce9203b8f5897d0f56
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
11 years agoFolderListModel: Do not return invalid URLs like "file:" when navigating up.
Friedemann Kleint [Fri, 26 Jul 2013 12:40:09 +0000 (14:40 +0200)]
FolderListModel: Do not return invalid URLs like "file:" when navigating up.

Task-number: QTBUG-32139

Change-Id: I715b97eb85bc4235de6a2bb696131efae56477fd
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
11 years agoFolderListModel: Fix setting of directory in componentComplete().
Friedemann Kleint [Fri, 26 Jul 2013 12:26:23 +0000 (14:26 +0200)]
FolderListModel: Fix setting of directory in componentComplete().

Discovered when fixing

Task-number: QTBUG-32139

Change-Id: I94d1a958069666ed43db146a7393e5f1ff4e177e
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
11 years agoImprove reliability of GC related tests
Simon Hausmann [Fri, 26 Jul 2013 12:12:58 +0000 (14:12 +0200)]
Improve reliability of GC related tests

Fixes propertyVarCircular2 in clang release builds for example.

Some of the QML/GC related tests had functions like

   function deassign()
   {
       someVariableThatWasholdingSomethingThatShouldBeCollectedNow = null;
       gc();
   }

which work fine with an exact GC like in v8, but with our conservative
collector they are not that reliable and much more vulnerable to a reference
to the object still being around somewhere. So to improve the reliability
of the test, this patch moves the gc() calls out of the JavaScript function
and back to the C++ caller side (these functions are invoked via QMetaObject::invokeMethod),
where the existing gc() helper function will call the collector and also
process posted deferred deletion events for QObjects.

Change-Id: I8c1f715d56d66bc567ea8bd1575f171460b15ac8
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
11 years agoMerge remote-tracking branch 'origin/release' into stable
Sergio Ahumada [Fri, 26 Jul 2013 19:50:00 +0000 (21:50 +0200)]
Merge remote-tracking branch 'origin/release' into stable

Change-Id: Ibb0e597c0cd02732bae3ef0ccc31c3ef36c75584

11 years agoSilence qqmlecmascript::propertyVarInheritance failures with clang release builds
Simon Hausmann [Fri, 26 Jul 2013 11:57:59 +0000 (13:57 +0200)]
Silence qqmlecmascript::propertyVarInheritance failures with clang release builds

There's no equivalent to #pragma GCC optimize ("O0") yet, so we cannot run
these test (sort of) reliably with clang.

Change-Id: Ie41d3ba7911cefacca00165941761b20579107a2
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
11 years agotest: Remove insignificant mark from tst_touchmouse
Sergio Ahumada [Fri, 26 Jul 2013 12:30:55 +0000 (14:30 +0200)]
test: Remove insignificant mark from tst_touchmouse

Tests are passing nowaways on OS X.

Task-number: QTBUG-27890
Change-Id: I2245801a44b9b6fd8773c91e2d5dd67f5a5b7373
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
11 years agotest: Remove insignificant mark from tst_qquickgridview
Sergio Ahumada [Fri, 26 Jul 2013 12:28:45 +0000 (14:28 +0200)]
test: Remove insignificant mark from tst_qquickgridview

Tests are passing nowaways on OS X.

Task-number: QTBUG-27890
Change-Id: Iddceb2f0641115f03e5116c38e95ae5772938248
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
11 years agoFix various QList<qreal> property related auto test failures in release builds
Simon Hausmann [Fri, 26 Jul 2013 11:14:47 +0000 (13:14 +0200)]
Fix various QList<qreal> property related auto test failures in release builds

When registering the QList<qreal> sequence type, make sure to register it
with "QList<qreal>" as name right there. Otherwise it might happen that
the registration (without name) will find an existing QList<double> type id
and not register anything.

Change-Id: I15c837f26bfa713f50dfdbd7c697d55b094f3f0c
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
11 years agostd:: fixes to make qtdeclarative closer to compilable with QNX NDK.
Petr Nejedly [Wed, 24 Jul 2013 15:13:18 +0000 (08:13 -0700)]
std:: fixes to make qtdeclarative closer to compilable with QNX NDK.

Math functions come in std:: when #included through <cmath>

Change-Id: I62550e5c23cb6f4464f2c2f5c4188a91b3512d1a
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoWorkaround for distance field glyph upload problem.
Yoann Lopes [Tue, 23 Jul 2013 14:19:57 +0000 (16:19 +0200)]
Workaround for distance field glyph upload problem.

It seems uploading an image (into a texture) which has
padding at the end of each scanLine and alpha-only pixel format
is broken with some OpenGL ES drivers.
The workaround is to upload one line at a time.

Task-number: QTBUG-30908
Change-Id: Ic680654951b6aec294c1a173708c1fb75e57ff8f
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
11 years agoInitial support for debugging in the v4 interpreter
Simon Hausmann [Wed, 24 Jul 2013 08:29:04 +0000 (10:29 +0200)]
Initial support for debugging in the v4 interpreter

This adds breakpoint support to the Debugger, a helper function in the engine
for enabling debugging (which will switch from JIT to the interpreter) and a
DebuggingAgent interface, for use by v4 clients.

Change-Id: I78e17a6cbe7196b0dfe4ee157fc028532131caa3
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
11 years agoMerge branch 'dev' of ssh://codereview.qt-project.org/qt/qtdeclarative into merge
Simon Hausmann [Fri, 26 Jul 2013 09:52:06 +0000 (11:52 +0200)]
Merge branch 'dev' of ssh://codereview.qt-project.org/qt/qtdeclarative into merge

Change-Id: I5824a3eb624b325de10acfd5109c4c1bdabcf780

11 years agoDoc: Update Tweet Search Demo to use Twitter Search API v1.1
Topi Reinio [Fri, 21 Jun 2013 08:50:48 +0000 (10:50 +0200)]
Doc: Update Tweet Search Demo to use Twitter Search API v1.1

Twitter REST API v1 is no longer supported. This change updates the
Tweet Search Demo to use the new version (v1.1). Specifically,
    - Use of OAuth tokens (authentication required in v1.1)
    - JSON parsing for results instead of XML
    - Use of url/hashtag/username entities returned in search results

Also, update the documentation to discuss authentication and
registering the application to dev.twitter.com.

Task-number: QTBUG-31745
Change-Id: I00cd7b07f065babb03483daabe8df22f22995c29
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
11 years agoFix tst_qquicktextinput::remoteCursorDelegate
Rafael Roquetto [Tue, 23 Jul 2013 19:04:41 +0000 (16:04 -0300)]
Fix tst_qquicktextinput::remoteCursorDelegate

Do not query for QQmlComponent::Loading on remoteCursorDelegate: when a new
connection is established to the test http server, it will setup a single
shot QTimer with a 500ms timeout that will trigger the reply to be sent
back, making the call to sendDelayedItem() obsolete and reduntant. Also, it
means that in some platforms, data will arrive back to the component before
the check for QQmlComponent::Loading is executed, causing the test to fail
since at this point the status will already be QQmlComponent::Ready instead.

Change-Id: I30adeed2a669d5f6618f56d8a023fe7eaea16bc0
Reviewed-by: Wolfgang Bremer <wbremer@blackberry.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
11 years agoStabilize text tests that grab windows.
Friedemann Kleint [Mon, 22 Jul 2013 13:52:54 +0000 (15:52 +0200)]
Stabilize text tests that grab windows.

Add window flags to make sure window stays on top to
tst_qquicktext::hAlignImplicitWidth() and
tst_qquicktextedit::hAlignVisual(). Add diagnostic output.
Determine the section size by checking the font size.
Add more characters to line 2 to make it more discriminative.

Task-number: QTBUG-32540
Change-Id: I19a74a775bf2663027ec211784870fd9f6547b48
Reviewed-by: Simo Fält <simo.falt@digia.com>
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
11 years agoFix tst_qquickwindow for fullscreen platforms
Rafael Roquetto [Wed, 24 Jul 2013 22:17:11 +0000 (19:17 -0300)]
Fix tst_qquickwindow for fullscreen platforms

Change-Id: I040282f1bf1a2a8f212b9c7192a5ffaa2dbfdfb8
Reviewed-by: Wolfgang Bremer <wbremer@blackberry.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
11 years agoFix tst_rendernode for fullscreen platforms
Rafael Roquetto [Tue, 23 Jul 2013 19:24:35 +0000 (16:24 -0300)]
Fix tst_rendernode for fullscreen platforms

Change-Id: Ib82aef04b7748ecdf148c3d9ec60ad15b3dfd7cb
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
11 years agoFix tst_qquicktextinput for fullscreen platforms
Rafael Roquetto [Tue, 23 Jul 2013 18:59:16 +0000 (15:59 -0300)]
Fix tst_qquicktextinput for fullscreen platforms

Change-Id: I42683f69a439608f778fbccf90573173bbc03f5b
Reviewed-by: Wolfgang Bremer <wbremer@blackberry.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
11 years agoKeep the QML ColorDialog's controls in sync with the color property
Shawn Rutledge [Tue, 23 Jul 2013 08:49:10 +0000 (10:49 +0200)]
Keep the QML ColorDialog's controls in sync with the color property

Until now, the user could change the color by dragging the crosshairs
or the sliders, but if the application set the color property, it did
not programmatically move the crosshairs and sliders.

Task-number: QTBUG-32545
Change-Id: Idd54e711400dfd78d570161297559f9521c1d67f
Reviewed-by: Liang Qi <liang.qi@digia.com>
11 years agoCorrect initial/minimum size of default QML ColorDialog
Shawn Rutledge [Tue, 23 Jul 2013 07:47:35 +0000 (09:47 +0200)]
Correct initial/minimum size of default QML ColorDialog

Change-Id: Idd53d9c7246b17a9159faec06a7ce6c6355cd09f
Task-number: QTBUG-32572
Reviewed-by: Liang Qi <liang.qi@digia.com>
11 years agoAlways use QDir::exists() for checking if something exists
Andy Shaw [Fri, 19 Jul 2013 06:42:58 +0000 (08:42 +0200)]
Always use QDir::exists() for checking if something exists

If there is a custom file engine in use by the application then it will
not be able to tell if the file exists if the system stat() call is
used. Therefore we let it use QDir::exists() on all platforms to ensure
that this is taken care of.

Change-Id: I0c93cfdad1e71b40512bcf1766de6a705a76bd9c
Reviewed-by: Marcus Tillmanns <maddimax@gmail.com>
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
11 years agoDoc: Link to QML Qt object in relevant locations
Topi Reinio [Tue, 23 Jul 2013 11:59:43 +0000 (13:59 +0200)]
Doc: Link to QML Qt object in relevant locations

There is no obvious path to find the reference for QML Qt object.
This change adds links to it in Qt QML module index page and QML
Basic Types documentation.

Task-number: QTBUG-31921
Change-Id: I8a4ef1b3e696a0a7dec416d759ae64110e59c6c0
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
11 years agoDoc: Modified the term for the Qt global object.
Jerome Pasion [Tue, 23 Jul 2013 12:34:35 +0000 (14:34 +0200)]
Doc: Modified the term for the Qt global object.

QtQml::Qt is a "QML global object" to differentiate it from the
Qt namespace.

"QML Qt object"
"QML Qt global object"
"Qt global object" (in the context of QML-only pages)

Change-Id: I1d2896ad48e8432c5eb8b18f05af247986bff336
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
11 years agoResizing items out of the list viewport should not change the viewport
Albert Astals Cid [Tue, 28 May 2013 08:28:56 +0000 (10:28 +0200)]
Resizing items out of the list viewport should not change the viewport

Consider the old geometry, not the new one to check if an item
was outside the viewport or not

Change-Id: I108412d560faf86130044f3d091254c07af0c004
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
11 years agoMerge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev
Frederik Gladhorn [Wed, 24 Jul 2013 08:09:17 +0000 (10:09 +0200)]
Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev

11 years agoBump MODULE_VERSION to 5.1.2
Sergio Ahumada [Tue, 23 Jul 2013 09:54:34 +0000 (11:54 +0200)]
Bump MODULE_VERSION to 5.1.2

Change-Id: I8090b927f43ed154400ce56e1118dbe8a092bfb7
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
11 years agoFolderListModel documentation corrections
Shawn Rutledge [Mon, 22 Jul 2013 13:28:51 +0000 (15:28 +0200)]
FolderListModel documentation corrections

Task-number: QTBUG-32039
Change-Id: I214c5e58dedb6d752e0c42f6c67fad942bd71894
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
11 years agodoc: Eliminate more cases of multiple topic commands
Martin Smith [Tue, 16 Jul 2013 10:22:19 +0000 (12:22 +0200)]
doc: Eliminate more cases of multiple topic commands

This fixes the advanced tutotial based on
the samegame example. Several instances where
\page and \example occur in the same comment
are corrected by removing the \page and leaving
the \example. And the links in the tutorial's
list of chapters are correct.

Task-number: QTBUG-31578
Change-Id: I89bb179bc4d4f6120b8d13ba05a51c802a7d4013
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
11 years agodoc: Eliminate still more cases of multiple topic commands
Martin Smith [Tue, 16 Jul 2013 11:03:23 +0000 (13:03 +0200)]
doc: Eliminate still more cases of multiple topic commands

This fixes the dynamic view tutotial based on
the pets model example. Several instances where
\page and \example occur in the same comment
are corrected by removing the \page and leaving
the \example. And the links in the tutorial's
list of chapters are corrected.

Task-number: QTBUG-31578
Change-Id: I5a35b55806e33da5c82c37db1193f96fe74f038a
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
11 years agoLink between "QML Basic Type: date" and QML Date object documentation.
Mitch Curtis [Fri, 19 Jul 2013 09:15:20 +0000 (11:15 +0200)]
Link between "QML Basic Type: date" and QML Date object documentation.

The basic date type seems useless if you don't know it can be used as
as JavaScript date (with QML extensions).

Task-number: QTBUG-32492

Change-Id: I14962f4e57522f5515f0e78d484aa59fcd9dff3c
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
11 years agoFix FDE generation on Intel 32-bit
Simon Hausmann [Fri, 19 Jul 2013 14:07:07 +0000 (16:07 +0200)]
Fix FDE generation on Intel 32-bit

Make the generated FDE program reflect that ESI and EDI are callee
saved registers. For some reason the program we've had in qv4unwindhelper_p-dw.h
for 32-bit was already correct, but the generator was broken (and even mixed
up the registers).

Change-Id: Id8132580d20636c8ea17f8460d161547227c95fc
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
11 years agoFix tst_QJSValueIterator::iterateString() on Mac OS X
Simon Hausmann [Tue, 23 Jul 2013 10:52:05 +0000 (12:52 +0200)]
Fix tst_QJSValueIterator::iterateString() on Mac OS X

The iterator stores the Property pointers the QV4::ObjectIterator returns,
which breaks when iterating over string objects, that always return the
same Property pointer in subsequence calls: &this->tmpProperty.

Given that internally QJSValueIterator already advanced the iterator to
the next property, value() will return the next value for strings instead
of the current value.

This patch eliminates the permanent storage of Property pointers in QJSValueIterator
and instead get()'s the properties when requested. This is slightly slower,
but safer.

Change-Id: I59028319a0b5dff339a7c9500f117b73f0677451
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>