profile/ivi/qtdeclarative.git
12 years agoCheck for null pointer dereference
Alan Alpert [Thu, 22 Mar 2012 03:17:11 +0000 (13:17 +1000)]
Check for null pointer dereference

Standard defensive programming

Change-Id: Ic2b89cacf06812441a2b8f02c6b22de431c50b4a
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
12 years agoAdd move comprehensive tests for TextInput input mask.
Andrew den Exter [Mon, 12 Mar 2012 01:36:28 +0000 (11:36 +1000)]
Add move comprehensive tests for TextInput input mask.

This was previously covered by tests for QLineEdit but since the two
implementations have diverged we also need to test individually.

Change-Id: I00ae7bfd96302d08af4364f577925e99882117a0
Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
12 years agoFix text wrapping and eliding with implicitWidth.
Andrew den Exter [Thu, 22 Mar 2012 02:04:16 +0000 (12:04 +1000)]
Fix text wrapping and eliding with implicitWidth.

Update the implicitWidth of the item before continuing with the layout
rather than after it's completed this gives any bindings dependent on
the implicitWidth the opportunity to update the width before the layout
continues.

Task-number: QTBUG-22680
Task-number: QTBUG-24251
Change-Id: I61cd96ad9891b22d8b83937ad2c06719f88976b6
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoUpdate model view examples to common launcher format.
Andrew den Exter [Thu, 8 Mar 2012 00:50:11 +0000 (10:50 +1000)]
Update model view examples to common launcher format.

Change-Id: I8dc30a9ade3cbbfa91d51d85617975ad7d46ee15
Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
12 years agoUpdate tutorial
Alan Alpert [Tue, 20 Mar 2012 08:36:12 +0000 (18:36 +1000)]
Update tutorial

Updated paths, and updated arbitrary form factor

Change-Id: I10ffedd6978fbe62050987a4e0e5ab8b120edfce
Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
12 years agoFix doAction with custom functions.
Frederik Gladhorn [Wed, 21 Mar 2012 12:06:59 +0000 (13:06 +0100)]
Fix doAction with custom functions.

When calling invokeMethod, pass the function name without parentheses.

Change-Id: I5a5a28242a98bf76347450b799c1d51c293f9ef4
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
12 years agoFree ShaderEffectSource FBOs when no longer needed.
Kim Motoyoshi Kalland [Wed, 8 Feb 2012 16:01:36 +0000 (17:01 +0100)]
Free ShaderEffectSource FBOs when no longer needed.

This commit also fixes handling of texture provider deletion in
ShaderEffect.

Change-Id: Ib22a9308a35325972bc545cf29de11bd625b22b2
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
12 years agoAllow qmlscene to quit immediately after starting
Matthew Vogt [Wed, 21 Mar 2012 02:49:15 +0000 (12:49 +1000)]
Allow qmlscene to quit immediately after starting

Useful for running tests that have no interactive element, where all
computation is performed in the initialization phase of processing
the QML source.

Change-Id: Id3f87fc504a30eb4e351804a98fe265db8fe93c9
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoTest unregistered local enums in QML methods and signal handlers.
Michael Brasser [Wed, 21 Mar 2012 04:29:01 +0000 (14:29 +1000)]
Test unregistered local enums in QML methods and signal handlers.

Also make sure valueC and valueD are initialized.

Change-Id: I8ee78b7b779c37ca792300c7771ae9975f43d8bb
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
12 years agoAllow flick on press-move-release in Flickable.
Laszlo Agocs [Mon, 19 Mar 2012 10:35:45 +0000 (12:35 +0200)]
Allow flick on press-move-release in Flickable.

Right now it needs at least a press-move-move-release to start a flick
which is not ideal for touchscreens because a quick, short flick may
result in reporting only a single move.

Change-Id: I9bf2b4fea23b0eea9d9d00f0e79ce34f4d964bea
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoFix margins for right-to-left mode
Bea Lam [Wed, 21 Mar 2012 02:55:36 +0000 (12:55 +1000)]
Fix margins for right-to-left mode

The behaviour for considering left and right margins was inconsistent
in views with a right to left layout; these values were reversed for
extent calculations but not for general positioning. With this change
the left and right margins are never reversed in a right-to-left layout,
so minXExtent and maxXExtent calculations always use startMargin
and endMargin respectively, regardless of layout direction.

Also fixes calculation of endOffset in trackedPositionChanged() when
in horizontal orientation.

Change-Id: Ie00e3d4c2bd38d8fe6ac0213702206b88bfa895e
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoListView system tests
Damian Jansen [Wed, 21 Mar 2012 01:26:34 +0000 (11:26 +1000)]
ListView system tests

Tests:
Change of model, delegate and orientation at runtime
Use of add, move and remove view transitions
Changing of view transitions at runtime

Task-number: QTBUG-21504
Change-Id: Icaeb5c0305c7db5db4c4b8c5ad5fd1d6393cc599
Reviewed-by: Bea Lam <bea.lam@nokia.com>
12 years agoAdd new line to last line of qquickfolderlistmodel.pro
Martin Jones [Wed, 21 Mar 2012 06:01:56 +0000 (16:01 +1000)]
Add new line to last line of qquickfolderlistmodel.pro

Change-Id: Ia4baa8258b9ad40503abc0f88cb8e887b8f996a4
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoDon't overwrite text selections made in focus handlers.
Andrew den Exter [Mon, 12 Mar 2012 05:49:26 +0000 (15:49 +1000)]
Don't overwrite text selections made in focus handlers.

Defer giving focus to TextInput or TextEdit until after other mouse
press handling has been performed, otherwise setting the cursor position
will overwrite any selection or cursor position set in the
on(Active)FocusChanged handler.

Change-Id: I6332642484de65138a444987b5a81be69c6f835f
Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
12 years agoContent size should not include trailing spaces.
Andrew den Exter [Thu, 15 Mar 2012 01:17:09 +0000 (11:17 +1000)]
Content size should not include trailing spaces.

Excluding trailing spaces from the content size means the cursor
position also needs to considered in determining the width used
by the text as unwrapped white space can push the cursor over
the width of the item.

Also corrects an auto scroll issue with right to left text
identified in extending the tests.

Task-number: QTBUG-24630

Change-Id: Iaab9eac03824b22f507154fa1d6e55376bd075a0
Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
12 years agoAdd more element qmltestrunner cases
Damian Jansen [Mon, 30 Jan 2012 05:50:02 +0000 (15:50 +1000)]
Add more element qmltestrunner cases

Added remote testing to Image, BorderImage
Added several basic element tests

Change-Id: I1a25f31bc66be6b096a6d3c217196d5625e8a2ed
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
12 years agoFix qquickfolderlistmodel includes
Martin Jones [Wed, 21 Mar 2012 03:37:24 +0000 (13:37 +1000)]
Fix qquickfolderlistmodel includes

Change-Id: I74b1010207b66514d65a383db6e01d396006170f
Reviewed-by: Bea Lam <bea.lam@nokia.com>
12 years agoAllow literal enum to int property assignments
Chris Adams [Thu, 15 Mar 2012 07:09:13 +0000 (17:09 +1000)]
Allow literal enum to int property assignments

Previously, enum to int property assignments were considered bindings.
This commit adds support for assigning enum values to int properties
as enums.

Note that to use an enum in QML, it must have been declared with
Q_ENUMS or otherwise registered as a metatype.  Enum values from the
global Qt object are also usable.

Task-number: QTBUG-23403
Change-Id: I50db6cae54a24400ea472bde43619d547e4ceb78
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoFix consistency of parsing ISO 8601 date strings.
Andrew den Exter [Wed, 21 Mar 2012 02:47:15 +0000 (12:47 +1000)]
Fix consistency of parsing ISO 8601 date strings.

Use the UTC timespec for strings with no time zone qualifier as V8 does
so we don't get different QDateTime in bindings depending on whether
the string was bound directly, or parsed by constructing a new JS
Date object.

Task-number: QTBUG-24895
Change-Id: I8f74dae418aaeeaf06df33fe58ab4e3e3fea791b
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
12 years agoDisable module api object support in v4.
Michael Brasser [Wed, 21 Mar 2012 01:39:11 +0000 (11:39 +1000)]
Disable module api object support in v4.

We cannot create the module object during compilation as
compilation may be done in a thread. Disable this
optimization until additional type information can be
known at compile time.

Change-Id: I416ebf7595e2916a28f22fa8ebf512cbf3a8cde3
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
12 years agoSupport unregistered Qt namespace enums in QML methods.
Michael Brasser [Fri, 16 Mar 2012 00:31:53 +0000 (10:31 +1000)]
Support unregistered Qt namespace enums in QML methods.

This brings the support in line with signal handlers, which should allow
us to reuse the implementation there when appropriate. Also adds tests
for both registered and unregisted Qt namespace enums.

Change-Id: I366846626fc44d6d99b51e93fc9e3cb948c748f9
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
12 years agoSupport (registered) non-local enums for signal/slot params in QML.
Michael Brasser [Thu, 15 Mar 2012 01:58:58 +0000 (11:58 +1000)]
Support (registered) non-local enums for signal/slot params in QML.

It's now possible to detect whether a registered type is an enum,
allowing registered non-local enums to be used as parameters in
signals and slots from QML/C++.

Author: Glenn Watson <glenn.watson@nokia.com>
Task-number: QTBUG-20639
Change-Id: I8c439f2dcc7bfd8ec31914b0c86cd3a1de3c038c
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoDon't register sub distance field glyph nodes with the glyph cache.
Yoann Lopes [Tue, 20 Mar 2012 13:09:13 +0000 (14:09 +0100)]
Don't register sub distance field glyph nodes with the glyph cache.

The original distance field glyph node takes care of the glyphs
reference counting. The potential sub glyph nodes created when the
glyphs are in another texture are note registered anymore with the cache
and don't reference count their glyphs.
Also got rid of unnecessary data members.

Change-Id: I1544792d5d896c6de26e0838e4f80397759ea012
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
12 years agoDecouple QSGDistanceFieldGlyphNode from it's cache manager.
Andrew den Exter [Mon, 5 Mar 2012 08:19:20 +0000 (18:19 +1000)]
Decouple QSGDistanceFieldGlyphNode from it's cache manager.

To implement a custom distance field glyph node currently it's
necessary to also provide a duplicate implementation of
QSGContext::createDistanceFieldGlyphCache() as the default implemention
references the cache manager created by createGlyphNode().  By isolating
references to the cache manager to just createDistanceFieldGlyph() cache
it becomes possible to just overwrite createGlyphNode() and still use
the default cache.

Change-Id: I7261bdbf247966b55512d2671e2ee85239bcca05
Reviewed-by: Yoann Lopes <yoann.lopes@nokia.com>
12 years agoAllow SG and GL resources to survive a releaseResources.
Gunnar Sletta [Mon, 19 Mar 2012 19:23:02 +0000 (20:23 +0100)]
Allow SG and GL resources to survive a releaseResources.

The presence of these functions required some documentation so I
added some.

Change-Id: Id66bb6704b3db788ed612ebd6497a5c16ee8b2ca
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
12 years agoDebugger: Disable debugging for qmlprofiler, qmltest
Kai Koehne [Thu, 15 Mar 2012 15:37:33 +0000 (16:37 +0100)]
Debugger: Disable debugging for qmlprofiler, qmltest

QmlProfiler uses the debugging API as a client, but doesn't have
to be debugged itself. I don't think there's a use case to debug
qmltest either.

Change-Id: Ibc8849c77d807f96c6abec5cebc3581ab023d5ae
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
12 years agoFix compilation on QNX.
Tobias Koenig [Fri, 13 Jan 2012 18:34:47 +0000 (18:34 +0000)]
Fix compilation on QNX.

Change-Id: I5e01cad23066a645c1434ce1463d370733f53e4f
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
12 years agoUpdate item focus even if it doesn't have a canvas
Bea Lam [Thu, 15 Mar 2012 05:05:50 +0000 (15:05 +1000)]
Update item focus even if it doesn't have a canvas

Currently the item focus data is not updated if it is not in a canvas.
This means a subFocusItem may be deleted when the item is outside of a
canvas, creating a stale pointer when the item is moved back into a
canvas.

This change also means that the last item to set focus=true will now
consistently get activeFocus. Previously if an item did not have a
canvas and then was moved back into the canvas, the first item found
with focus=true would get activeFocus.

Task-number: QTBUG-24616
Change-Id: Ia706bd6ba6bcbccd616b5019c7c0fae4c39afa7f
Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
12 years agoMake QVariant conversion for JS null type symmetric
Kent Hansen [Thu, 15 Mar 2012 09:15:53 +0000 (10:15 +0100)]
Make QVariant conversion for JS null type symmetric

If you pass (void*)0 to QJSEngine::toScriptValue(), or you pass a
QVariant of type QMetaType::VoidStar containing a 0 value, you get
back a QJSValue of type null (isNull() returns true); that's fine.

However, if you called QJSValue::toVariant() on a JS null value, you
would get back an invalid QVariant. The expected result is a
QVariant of type QMetaType::VoidStar containing a 0 value. This
makes the conversion of the JS null type symmetric and avoids loss
of data.

Change-Id: Ifa6e788152118f80adf9c2d7be1283f053b44294
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
12 years agoFix unused variable warning.
Andrew den Exter [Tue, 20 Mar 2012 03:48:32 +0000 (13:48 +1000)]
Fix unused variable warning.

Change-Id: I5e10bc5e2d42bcbc641ebea8b9bb123479ea857a
Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
12 years agoMake TextEdit word selection behaviour consistent.
Andrew den Exter [Mon, 12 Mar 2012 03:39:23 +0000 (13:39 +1000)]
Make TextEdit word selection behaviour consistent.

Word selection initiated by a double click in QTextEdit only selects
a word if the drag point is closer to the end than the start
(assuming ltr selection) which can make it difficult to select small
words with touch input, as such the SelectWords mouseSelectionMode of
TextEdit selected a word if the drag point intersected any part of the
word.  Since we no longer have to retain compability for QTextEdit we
can settle on a single behaviour for word selection.

Change-Id: Iaabb7938a2b61b84a290a9ee41e407c83144b96f
Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
12 years agoRemove unused functions from QQuickTextControl.
Andrew den Exter [Mon, 12 Mar 2012 02:49:01 +0000 (12:49 +1000)]
Remove unused functions from QQuickTextControl.

Change-Id: I036a2c2ff05cd94a7c58e29bf8743fef3a550fbd
Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
12 years agoAdd additional key sequence tests.
Andrew den Exter [Fri, 9 Mar 2012 07:40:49 +0000 (17:40 +1000)]
Add additional key sequence tests.

Change-Id: Ie77a61a3ea0d1bdccd59dd519346db74bdf59c44
Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
12 years agoUpdate touchinteraction examples to new guidelines
Alan Alpert [Mon, 5 Mar 2012 05:02:09 +0000 (15:02 +1000)]
Update touchinteraction examples to new guidelines

Includes adding flickable examples

Change-Id: Ie1a47882bcb8b671f162b2b778dad33ce105407b
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
12 years agoAdd docs for PaintedItem examples
Alan Alpert [Wed, 29 Feb 2012 08:51:23 +0000 (18:51 +1000)]
Add docs for PaintedItem examples

No launcher, because they're C++ examples

Change-Id: Icff2ad31c65d5a878c3818d54ed81cf0d6aa664b
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoUpdate Squircle example towards new guidelines
Alan Alpert [Wed, 29 Feb 2012 07:40:39 +0000 (17:40 +1000)]
Update Squircle example towards new guidelines

Doesn't work properly though. QTBUG-24566 filed for that.

Change-Id: I31a8184456add6060e65bf11323153dc7a80b306
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoUpdate MouseArea and KeyInteraction to new guidelines
Alan Alpert [Wed, 29 Feb 2012 07:21:11 +0000 (17:21 +1000)]
Update MouseArea and KeyInteraction to new guidelines

Change-Id: Icf207005a48fa2a994632a88c4238d821622133c
Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
12 years agoAdapt threading examples to new launcher format
Alan Alpert [Mon, 19 Mar 2012 05:45:05 +0000 (15:45 +1000)]
Adapt threading examples to new launcher format

Change-Id: Ibfe8732efb71ff49c19724abb8202ca63262150e
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
12 years agoRewrite workerscript example
Alan Alpert [Mon, 19 Mar 2012 05:34:28 +0000 (15:34 +1000)]
Rewrite workerscript example

Clearer function, arguable justification for using WorkerScript, and
fits better into the standrad form factor.

Change-Id: I3f29f19961a12adc29b260b3284eb620ad63bf45
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
12 years agoSprite minor fixes
Alan Alpert [Fri, 16 Mar 2012 03:12:57 +0000 (13:12 +1000)]
Sprite minor fixes

Spelling of "motivate", don't send out the message when they didn't set
duration themselves, and update TODO comment.

Change-Id: I4de055f07a1831b9d12798faeda658ff441920f4
Reviewed-by: Damian Jansen <damian.jansen@nokia.com>
12 years agoFix QQuickTextInput test failure on Windows
Charles Yin [Tue, 20 Mar 2012 00:38:55 +0000 (10:38 +1000)]
Fix QQuickTextInput test failure on Windows

Task-number: QTBUG-24790
Change-Id: I1d78df79568389f8c59f99ace9e2d7685b5d8f0d
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoFix tst_qquickitemlayer test failures
Charles Yin [Tue, 20 Mar 2012 01:14:23 +0000 (11:14 +1000)]
Fix tst_qquickitemlayer test failures

The minimum window width in Windows 7 requires more than 100, so make the
item width to 200 to avoid test failures.

Task-number: QTBUG-24787
Change-Id: I439528a94aed9c54eca0fa68651c84afa4f9ab13
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoFix FolderListModel path issue on Windows
Charles Yin [Tue, 20 Mar 2012 03:49:15 +0000 (13:49 +1000)]
Fix FolderListModel path issue on Windows

Task-number: QTBUG-24777
Change-Id: I819c2e07b23e8740f7570f117dafb2340f7c00e9
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoAlways enable value type support in v4.
Michael Brasser [Thu, 8 Mar 2012 01:02:30 +0000 (11:02 +1000)]
Always enable value type support in v4.

Change-Id: Ifb4e44aa6d2f13c79319d03e0fd7a4c0c3db06d8
Reviewed-by: Matthew Vogt <matthew.vogt@nokia.com>
12 years agoSupport null -> QObject and QObject -> bool conversions in v4.
Michael Brasser [Tue, 13 Mar 2012 06:24:49 +0000 (16:24 +1000)]
Support null -> QObject and QObject -> bool conversions in v4.

Change-Id: I66602bf52986a388f9b6fe2bcd4630b862138906
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
12 years agoRemove warning about not explicitly initializing base class.
Andrew den Exter [Fri, 16 Mar 2012 01:40:21 +0000 (11:40 +1000)]
Remove warning about not explicitly initializing base class.

Change-Id: I786f2936a4e6c813a041950a550f06951f06bada
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoPull out some duplicate focus-related code
Bea Lam [Thu, 15 Mar 2012 00:15:49 +0000 (10:15 +1000)]
Pull out some duplicate focus-related code

Change-Id: I920a9b75ccbdb3a9b169c7669121734c14d18ff9
Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
12 years agoLoader could leak qml contexts if interrupted
Martin Jones [Tue, 20 Mar 2012 01:58:09 +0000 (11:58 +1000)]
Loader could leak qml contexts if interrupted

If Loader was either destroyed, or its source changed while
it was incubating the itemContext could be leaked.

Change-Id: I5b749062552954d92bf2851250f942b20ebbfe68
Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
12 years agoFix bitfield waste in QQmlContextData
Martin Jones [Tue, 20 Mar 2012 02:45:12 +0000 (12:45 +1000)]
Fix bitfield waste in QQmlContextData

Why we do this at all, I have no idea.

Change-Id: I35c78f4603499d5bb13d4608cc4f5eba0ee342ca
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
12 years agoRestore view to sensible position if grab is cancelled.
Martin Jones [Thu, 15 Mar 2012 04:58:03 +0000 (14:58 +1000)]
Restore view to sensible position if grab is cancelled.

If the mouse grab is stolen, return to allowed bounds.

Change-Id: Icc44da32ff62bed273f0ccbb5498766981cdf9a4
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoAllow parent to be specified for Qt.createComponent
Matthew Vogt [Mon, 19 Mar 2012 05:56:22 +0000 (15:56 +1000)]
Allow parent to be specified for Qt.createComponent

Add an optional parameter to the Qt.createComponent function which
allows the caller to specify the object that will become the parent
for the created component.

If the parent is not specified by the caller, it becomes the QML
engine; this behavior will change in the near future to allow
these component objects to be collected when no longer referenced.

Task-number: QTBUG-24840
Change-Id: I2742133fe8ab8cbc80d8012a9d9b9fc2e4596fca
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoEnsure JS files imported inside modules work correctly
Matthew Vogt [Wed, 14 Mar 2012 02:49:36 +0000 (12:49 +1000)]
Ensure JS files imported inside modules work correctly

When a module exports functionality provided by a script, ensure
that imported script modules inside that script resolve correctly.

Task-number: QTBUG-24596
Change-Id: I3885dcc56946423f0d7cf00afdcdfaa0cb11967a
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
12 years agoFix compiler warnings in QQmlType
Kent Hansen [Mon, 12 Mar 2012 18:34:16 +0000 (19:34 +0100)]
Fix compiler warnings in QQmlType

clang said:

warning: expression result unused; should this cast be to 'void'?
 [-Wunused-value]

Change-Id: I51f9e2165f3ed550f599f4e3e7693f8e7eebbe1e
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoFix typo in QQmlXMLHttpRequest::readEncoding()
Kent Hansen [Wed, 7 Mar 2012 13:15:44 +0000 (14:15 +0100)]
Fix typo in QQmlXMLHttpRequest::readEncoding()

Change-Id: I266de531c12a4b88db722f220d7693f0b6bae7ff
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoRemove refence to declarative in the docs
Lars Knoll [Sat, 17 Mar 2012 21:50:31 +0000 (22:50 +0100)]
Remove refence to declarative in the docs

Change-Id: I328edc6deee302440cf65de9f87e6b68c93f42b7
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoUse a single distance-field cache instance for all sizes of a given font.
Yoann Lopes [Fri, 16 Mar 2012 11:09:29 +0000 (12:09 +0100)]
Use a single distance-field cache instance for all sizes of a given font.

Previously we had a different cache instance for each font size, but
they all shared the same textures and positions. Only the glyph metrics
were specific to each font size.
The metrics for each font sizes are now calculated by scaling the metrics
of the distance-field size (54px).

Change-Id: I0d9016990dedd93318893506afb1dba7a5249e2e
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
12 years agoClean up dangling pointers in the particle system
Gunnar Sletta [Thu, 15 Mar 2012 15:14:45 +0000 (16:14 +0100)]
Clean up dangling pointers in the particle system

When the scenegraph has been invalidated all node
pointers have been deleted. In the image particle case
the material is managed by the nodes and must also
be reset.

Change-Id: I867f0d36a3ea281a58c21f04c937b16b042ef373
Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
12 years agoReset all node pointers when item is cleaned up
Gunnar Sletta [Thu, 15 Mar 2012 15:10:35 +0000 (16:10 +0100)]
Reset all node pointers when item is cleaned up

Change-Id: I5878e1d39eca3fa640f16d153924968f72bc9ffc
Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
12 years agoSkip warning on perfectly valid usecase
Gunnar Sletta [Sun, 11 Mar 2012 08:41:28 +0000 (09:41 +0100)]
Skip warning on perfectly valid usecase

Change-Id: I83fdd2e7c569ebdfea0d21439b4db6d37c1eafa2
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
12 years agoFix possible crash in QSGContext::invalidate()
Yoann Lopes [Mon, 19 Mar 2012 13:55:12 +0000 (14:55 +0100)]
Fix possible crash in QSGContext::invalidate()

In some cases QSGContext::invalidate() was called without any current
GL context when the render thread was terminated.

Change-Id: Ia5295c89fe13f2473115c736e328e386d6d4d183
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
12 years agoQmlEngineDebug: Simplify the utility classes
Aurindam Jana [Tue, 6 Mar 2012 16:25:58 +0000 (17:25 +0100)]
QmlEngineDebug: Simplify the utility classes

Change-Id: Ie0e1b6e9edd6a09fef565635cc793f8bdb6c42e7
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
12 years agoQmlEngineDebug: Rename to QmlEngineDebugClient in AutoTest
Aurindam Jana [Tue, 13 Mar 2012 16:16:16 +0000 (17:16 +0100)]
QmlEngineDebug: Rename to QmlEngineDebugClient in AutoTest

Change-Id: If20b53d2e47cdc4ed54df0d9360ae1b0566489c6
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
12 years agoFix failed rebase
Alan Alpert [Mon, 19 Mar 2012 06:46:49 +0000 (16:46 +1000)]
Fix failed rebase

Change-Id: I5d6c6bb50baaa4c1ba986de779bad04ba45947fa
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
12 years agoFix data file checkout formats in Windows for some declarative tests
Miikka Heikkinen [Wed, 14 Mar 2012 14:27:10 +0000 (16:27 +0200)]
Fix data file checkout formats in Windows for some declarative tests

Fixed by adding proper .gitattributes for the tests

Task-number: QTBUG-24780
Change-Id: If8de0161a377c21fb5c6327d69e8da84174ee435
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
12 years agoEasingCurveEditor: Remove generated headers from .pro file
Kai Koehne [Thu, 15 Mar 2012 15:43:36 +0000 (16:43 +0100)]
EasingCurveEditor: Remove generated headers from .pro file

Change-Id: I21800e2839b70d6678c4958ae9c7b23a4c95f153
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@nokia.com>
12 years agoDebugger: Optimize message sending in v8 profiler
Kai Koehne [Fri, 16 Mar 2012 15:35:23 +0000 (16:35 +0100)]
Debugger: Optimize message sending in v8 profiler

Don't send every message on it's own over the network.

Change-Id: I770bf45573451cb9fb0eb10b374467286ae51093
Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
12 years agoDebugger: Always disable v4 optimizer if v8 debugger is activated
Kai Koehne [Fri, 16 Mar 2012 20:00:42 +0000 (21:00 +0100)]
Debugger: Always disable v4 optimizer if v8 debugger is activated

Don't rely on QML_DISABLE_OPTIMIZER environment variable being set.

Change-Id: Ib1a9d83eb9698adcd3c9a5bbcc74cba382836078
Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
12 years agoQmlEngineDebugService: Rename service to QmlDebugger
Aurindam Jana [Tue, 6 Mar 2012 16:25:58 +0000 (17:25 +0100)]
QmlEngineDebugService: Rename service to QmlDebugger

Rename service from QDeclarativeEngine to QmlDebugger.
Send a response for each query.

Change-Id: I01cfeaf3e4116bfd7029d170ee228c159973947c
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
12 years agoDebugger: Add optional 'host' argument to -qmljsdebugger
Simjees Abraham [Wed, 14 Mar 2012 12:35:17 +0000 (13:35 +0100)]
Debugger: Add optional 'host' argument to -qmljsdebugger

Change-Id: I5bb2e48e2ad2019b8a92f6f8842b88027fcd2d28
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
12 years agoQmlDebuggingTests: Separate out public and private tests
Aurindam Jana [Tue, 6 Mar 2012 22:35:27 +0000 (23:35 +0100)]
QmlDebuggingTests: Separate out public and private tests

Remove dependencies on quick-private from all
possible debugging auto tests and list them under public
tests.

Change-Id: I688b5b36fdf3d6fbcb6cef2a975ecd1bf679af2b
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
12 years agoQmlProfiler: Make sure there's minimal overhead when not enabled
Kai Koehne [Wed, 14 Mar 2012 13:20:31 +0000 (14:20 +0100)]
QmlProfiler: Make sure there's minimal overhead when not enabled

Do expensive operations directly in the constructor, guarded by
and if (enabled). Also assert if the methods where this isn't feasible
are called altough debugging hasn't been enabled.

Change-Id: Ieaa3c71730042a88af2270203ea747af42ba5c58
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
12 years agoQmlProfiler: Do not log expression for binding
Kai Koehne [Wed, 14 Mar 2012 12:47:41 +0000 (13:47 +0100)]
QmlProfiler: Do not log expression for binding

In Qt Creator 2.5, we're getting the exact text from the local sources anyway.

Change-Id: I419e8e7d8cc8831b682ce619a4f8394e5be49c50
Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
12 years agoSkip some font loader tests for Windows
Charles Yin [Mon, 19 Mar 2012 03:27:51 +0000 (13:27 +1000)]
Skip some font loader tests for Windows

Windows currently does not support font loader yet.

Change-Id: I370e41c1f2e2a45787741414a6e7bf00cc3f6c3e
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoDon't change the executable name if only build in debug mode on Windows
Charles Yin [Mon, 19 Mar 2012 03:40:42 +0000 (13:40 +1000)]
Don't change the executable name if only build in debug mode on Windows

Change-Id: I298c14d6ea5829d23a4f8b57b9c2f30546e12e80
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoFix qmldevtools library build error on Windows
Charles Yin [Mon, 19 Mar 2012 03:46:22 +0000 (13:46 +1000)]
Fix qmldevtools library build error on Windows

$$Qt.qml.sources not recongnized on Windows, use relative path instead.

Change-Id: Ia30acc34eff5193bea66ff06754b1cd2b2524878
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoMake qqmlinspector test work on Windows
Charles Yin [Mon, 19 Mar 2012 04:05:23 +0000 (14:05 +1000)]
Make qqmlinspector test work on Windows

Change-Id: Ib7399f9a005d3674fcb46c605cea3a8d40c21284
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoNotify QQJSE::DW of expression deletion during dtor
Chris Adams [Mon, 19 Mar 2012 02:19:53 +0000 (12:19 +1000)]
Notify QQJSE::DW of expression deletion during dtor

QQmlJavaScriptExpression::DeleteWatcher's wasDeleted() function simply
checks to see if the pointer to the expression being watched is null.
This commit ensures that the DeleteWatcher's expression pointer is
set to null during QQJSE::dtor().

Change-Id: I566737bf30b4466ba96d771d9846fc3dd860cd2f
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoDebugger: Fix compilation with C++11
Kai Koehne [Fri, 16 Mar 2012 13:05:05 +0000 (14:05 +0100)]
Debugger: Fix compilation with C++11

Change-Id: I6f753d14aa381fd29aadfc7c649599beb4ec4a9a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoQmlDebugging: Object Tree and States List
Aurindam Jana [Mon, 12 Mar 2012 13:08:56 +0000 (14:08 +0100)]
QmlDebugging: Object Tree and States List

All created instances are stored under the root context.
Check for the creation context of the object when building
up the tree. Do the same when building up the states list.

Change-Id: I8716d9966a61b8f7cb3ad4b7ab5acd4c94b4cd03
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
12 years agoWhen clearing an incubator also clear incubators it is waiting for.
Martin Jones [Mon, 19 Mar 2012 07:37:02 +0000 (17:37 +1000)]
When clearing an incubator also clear incubators it is waiting for.

If an incubator is cleared while waiting for other incubators
to complete also clear the incubators it is waiting for.

Change-Id: I83470920c0fd8a23d0098849192555f7478bb492
Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
12 years agoResetting a model can cause a crash in views with header/footer.
Martin Jones [Fri, 16 Mar 2012 08:45:39 +0000 (18:45 +1000)]
Resetting a model can cause a crash in views with header/footer.

Geometry listeners were called for deleted header/footer.

Change-Id: I47854178232f8a4ab5e19a931901b49741fec388
Reviewed-by: Bea Lam <bea.lam@nokia.com>
12 years agoEnsure section header/footer are cleaned up.
Martin Jones [Fri, 16 Mar 2012 07:01:11 +0000 (17:01 +1000)]
Ensure section header/footer are cleaned up.

If the model is cleared or replaced with an empty one,
the section headers should be released.

Change-Id: Ia2f070c312593743b2c5332a6c69facaf222ee6d
Reviewed-by: Bea Lam <bea.lam@nokia.com>
12 years agoDon't crash view while changing model.
Martin Jones [Fri, 16 Mar 2012 04:48:58 +0000 (14:48 +1000)]
Don't crash view while changing model.

Set model to null before adjusting view position, as changing
position can trigger a refill() if the view is animating at
that instance.

Change-Id: I4bc20766b1ab906799213b149c84a1bdb268c200
Reviewed-by: Bea Lam <bea.lam@nokia.com>
12 years agoFix QQuickCanvas test failure.
Andrew den Exter [Mon, 19 Mar 2012 07:27:38 +0000 (17:27 +1000)]
Fix QQuickCanvas test failure.

Switch to a QTRY_COMPARE to allow a little more time processing the
event loop.

Change-Id: I4f14feb5cbc7d11654f6c9089baff4ae67d894db
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoFix grabbing to wait until the image has actually been grabbed.
Michael Brasser [Mon, 19 Mar 2012 03:33:23 +0000 (13:33 +1000)]
Fix grabbing to wait until the image has actually been grabbed.

Change-Id: I3535c57b5d8dd99c8a6cf24ccb1b56af298fcfe6
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoFix bug in v4 strict equality.
Michael Brasser [Wed, 14 Mar 2012 01:35:13 +0000 (11:35 +1000)]
Fix bug in v4 strict equality.

Change-Id: I184065e0b7c8c6536f2081b9bf03e98992a4c9fe
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
12 years agoSmall LSB hacks
Harald Fernengel [Tue, 13 Mar 2012 20:34:05 +0000 (21:34 +0100)]
Small LSB hacks

Enable building QtDeclarative with the LSB compiler

Change-Id: I3a81247670f47db3d861910150a722bc8ac7691a
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
12 years agoWindows: Fix file URL issues in declarative autotests
Miikka Heikkinen [Wed, 14 Mar 2012 14:42:58 +0000 (16:42 +0200)]
Windows: Fix file URL issues in declarative autotests

Fixed by using testFileUrl() shared utility function where appropriate
instead of testFile() or various other ways file URLs were being
incorrectly used.

Task-number: QTBUG-24779
Change-Id: I48cbd297d419238f42ea45132344b7e5a487b6f1
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
12 years agoFix tst_qquickimageparticle test compilation with Visual Studio
Miikka Heikkinen [Wed, 14 Mar 2012 15:09:06 +0000 (17:09 +0200)]
Fix tst_qquickimageparticle test compilation with Visual Studio

MSVC doesn't support setenv or unsetenv functions, so use
qputenv instead.

Change-Id: Ife4eb056e6c87d23774512c61b13a3ae3d8ac9ce
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
12 years agoAllow threaded compilation in an async Loader
Martin Jones [Tue, 6 Mar 2012 08:03:33 +0000 (18:03 +1000)]
Allow threaded compilation in an async Loader

Enables threaded compilation for a Loader "source".

Change-Id: I2d60a3ace07aab58f3b8f069e45a2864178c959f
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
12 years agoSupport for multiple textures in the default distance field glyph cache.
Yoann Lopes [Wed, 14 Mar 2012 15:11:10 +0000 (16:11 +0100)]
Support for multiple textures in the default distance field glyph cache.

The default implementation of the distance field glyph cache can now
store the glyphs of one font in several textures, allowing to cache more
glyphs at once. The default maximum number of textures per cache is 3.
Glyphs are recycled when all textures are full.

Change-Id: I28d2d6cf5aa409141e2700b505023f15d3c2cd26
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
12 years agoFix merge
Alan Alpert [Mon, 12 Mar 2012 02:56:12 +0000 (12:56 +1000)]
Fix merge

Examples are in quick, not qtquick, since the rename merge.

Change-Id: Ideb677752c3ea320bbddba49204d37e8a34e2609
Reviewed-by: Matthew Vogt <matthew.vogt@nokia.com>
12 years agoDon't assert if focus is already clear.
Alan Alpert [Mon, 12 Mar 2012 08:48:05 +0000 (18:48 +1000)]
Don't assert if focus is already clear.

Already cleared focus should exit the function without terminating the
runtime.

Task-number: QTBUG-24714
Change-Id: Ia8c6be0d88e43d1f71112acc7bac3eb674f22de8
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoDon't leak function objects created by VisualDataModel.
Andrew den Exter [Thu, 15 Mar 2012 05:55:24 +0000 (15:55 +1000)]
Don't leak function objects created by VisualDataModel.

Function objects created from a FunctionTemplate are not short lived,
and the objects created by a VisualDataModel can change between
instances meaning a template is needed per instance.  So use an object
template as a constructor instead of a function.

Change-Id: I364c6e4f714a623b7adb7475a3ee9862eeeeb119
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoSet more sensible Flickable default input filtering parameters
Martin Jones [Wed, 14 Mar 2012 06:56:46 +0000 (16:56 +1000)]
Set more sensible Flickable default input filtering parameters

Shouldn't throw anything away by default.  Also fix bug that
flicking back into bounds from outside bounds halved velocity.

Change-Id: I3c2d303a9e46910439dc8bfb01771376f634a684
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoFix crash caused by dereferencing collected v8 data
Chris Adams [Tue, 13 Mar 2012 03:30:39 +0000 (13:30 +1000)]
Fix crash caused by dereferencing collected v8 data

If a var property of a QObject is read after the v8 data associated
with the qobject has been deleted but prior to the DeferredDelete
event being processed, the varProperties array will be null and
a crash will occur.

This patch ensures that we check for this condition in both the
access and set codepaths for var properties, and also ensures
that an object which has previously been queued for deletion cannot
be referenced in JS.

Finally, it adds a unit test to ensure that we don't regress.

Task-number: QTBUG-24748
Change-Id: Idde384ca01e18f4dcf9e376e9379f2c5eb410e14
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoDon't allow tst_QJSEngine or tst_QJSValue instance to be collected
Chris Adams [Thu, 15 Mar 2012 00:20:26 +0000 (10:20 +1000)]
Don't allow tst_QJSEngine or tst_QJSValue instance to be collected

Both of those unit tests currently change the ownership of the test
instance object, which could result in it being collected by the JS
GC and deleted if events were processed.

Change-Id: I5a9821fb56e19af1d52fea46e54755875dfbb29a
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoRemove binding dependency on QQmlExpression
Aaron Kennedy [Fri, 9 Mar 2012 08:16:50 +0000 (09:16 +0100)]
Remove binding dependency on QQmlExpression

This is the first step to creating much lighter weight bindings that
are tuned for the specific scenario in which they're used.

Change-Id: Ib985dcff25679b711b5c634bbc891aa7902bf405
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoEnsure that dynamic property storing QObject ptr notifies on delete
Chris Adams [Fri, 27 Jan 2012 01:33:37 +0000 (11:33 +1000)]
Ensure that dynamic property storing QObject ptr notifies on delete

Previously, when a QObject ptr was stored in a dynamic variant
property, the value of the property could change (to a zero ptr)
if the QObject was deleted without a notify signal being emitted
by the QDeclarativeVMEMetaObject which stores the property.

This commit ensures that such a notify signal is emitted correctly.

Task-number: QTBUG-23451
Change-Id: I5689abd984b177737f8d5f18950838b73ebde328
Reviewed-by: Martin Jones <martin.jones@nokia.com>
12 years agoLet V8 throw the exception when QML property lookup fails
Kent Hansen [Wed, 14 Mar 2012 12:39:31 +0000 (13:39 +0100)]
Let V8 throw the exception when QML property lookup fails

Only V8 knows whether a failed property lookup should actually cause
a ReferenceError to be thrown. When evaluating a "typeof" expression,
for example, a ReferenceError should not be thrown even if the
expression involves global variables that don't exist, according to
the ECMA-262 specification.

QML should try to match the standard JavaScript behavior. This is
achieved by simply returning an empty value handle (to signify the
absence of the property), and leaving it to V8 to throw an exception
as appropriate.

Task-number: QTBUG-21864
Task-number: QTBUG-24448
Change-Id: I9945adcab98fc3b801371163367473d6af0ab31a
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>