profile/ivi/qtdeclarative.git
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>
12 years agoRemove warning about missing file from parserstress test
Miikka Heikkinen [Wed, 14 Mar 2012 14:56:22 +0000 (16:56 +0200)]
Remove warning about missing file from parserstress test

There is no dummy.qml, so trying to find it will cause a warning
and return an empty string. Since the url is optional anyway and
apparently not relevant to this test, just use empty QUrl directly.

Change-Id: I11ba742dedccd6bdea226f680aa57c957afc7dc7
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
12 years agoWindows: Mark several declarative test cases insignificant
Miikka Heikkinen [Wed, 14 Mar 2012 14:52:35 +0000 (16:52 +0200)]
Windows: Mark several declarative test cases insignificant

These tests are marked insignificant for now to make CI runs pass.
Insignifications need to be removed once the related issues are fixed.

Change-Id: I3a1d36e5b17cf2f1b2f00b20b615359d96975f2b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
12 years agoUse the same ReferenceError message wording as V8
Kent Hansen [Wed, 14 Mar 2012 11:51:22 +0000 (12:51 +0100)]
Use the same ReferenceError message wording as V8

Instead of "Can't find variable: foo", use "foo is not defined".

This is in preparation of letting V8 throw the exception when a
property lookup fails on the QML scope object (needed for
QTBUG-24448).

Change-Id: I3c747482a8ef138dad9a85530a4f6b5c4c818a03
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
12 years agoDon't store duplicate glyph data in a distance field node.
Andrew den Exter [Fri, 2 Mar 2012 07:43:44 +0000 (17:43 +1000)]
Don't store duplicate glyph data in a distance field node.

This saves at least 16 bytes per character and removes the need to
copy data between representations.

Change-Id: Ia8236207bdc4ed8292f7b4c72093ee02d13c0463
Reviewed-by: Yoann Lopes <yoann.lopes@nokia.com>
12 years agoDebugger: Print informational messages via qDebug
Kai Koehne [Thu, 8 Mar 2012 14:15:10 +0000 (15:15 +0100)]
Debugger: Print informational messages via qDebug

This allows users to use QT_FATAL_WARNINGS.

Change-Id: I114825764c841030418c956d23575159157dfd69
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
12 years agoDebugger: Fix autotest for shadow builds
Kai Koehne [Wed, 14 Mar 2012 12:21:59 +0000 (13:21 +0100)]
Debugger: Fix autotest for shadow builds

Change-Id: I1b53afeb2a9f0d6e571c5ed87304e85896523488
Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
12 years agofix gl under example to work also on trivial render loop
Gunnar Sletta [Wed, 14 Mar 2012 11:31:27 +0000 (12:31 +0100)]
fix gl under example to work also on trivial render loop

Change-Id: Ieb6c9c9646b557a7cca952472325c33d265c9262
Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
12 years agoDebugger: Fix autotests on Windows
Kai Koehne [Wed, 14 Mar 2012 11:37:09 +0000 (12:37 +0100)]
Debugger: Fix autotests on Windows

Remove export macro logic for internal classes.

Change-Id: I4dfa7f8e7bc9b5086e01e40342bd00812d5966bd
Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
12 years agoRemove all accessibility updates to allow changes in qtbase.
Frederik Gladhorn [Thu, 8 Mar 2012 15:32:05 +0000 (16:32 +0100)]
Remove all accessibility updates to allow changes in qtbase.

In order to integrate pending api changes these are temporarily
removed and will return fixed as soon as qtbase is up to date.

Change-Id: I558b6049ac3342d41d67441ddfba6821fc370533
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
12 years agoCodeCoverage: Skip headersclean test.
Caroline Chao [Wed, 14 Mar 2012 08:05:17 +0000 (09:05 +0100)]
CodeCoverage: Skip headersclean test.

The code coverage tool adds #line when instrumenting the code using the gcc
syntax.

tst_headersclean uses the -pedantic-errors flag which causes a fatal error
when the code is instrumented with the coverage tool.

Similar change was done for qtbase (4ee14d6f87688492).

Change-Id: I525879ef56463473dd3c9eb91dee4d9b8310cdf9
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
12 years agoFix AND expression in v4
Luis Gabriel Lima [Thu, 8 Mar 2012 02:24:18 +0000 (23:24 -0300)]
Fix AND expression in v4

The type of the and expressions, e.g. (a && b), were being assigned
to the type of the right hand expression (b). As reported in
QTBUG-24660, this approach could lead to some unexpected behaviors.

Now, when the left and right hand expressions are of different types,
the responsability to deal with the and expression is delegated to v8.

Task-number: QTBUG-24660
Change-Id: Ic42ebb035e62e2f197c337b2106d00453a99f04c
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
12 years agoFix memory leak with the shared distance field glyph cache.
Andrew den Exter [Wed, 14 Mar 2012 05:28:27 +0000 (15:28 +1000)]
Fix memory leak with the shared distance field glyph cache.

A new glyph node instance registers its owner element with its
glyph cache which in the case of the shared distance field glyph cache
connects a signal from the cache to a slot on the owner, changing the
text creates a new node but destroying the old node didn't remove the
connection causing them to accumulate over time.

In the glyph node; unregister the owner element from the cache on
destruction, and in the cache only connect an owner element the
first time it is registered and keep a reference count so the
items can be disconnected when registrations from all nodes have
been cancelled.

Change-Id: Ibf32a146e146dbbf4e0556d1bd756465bd8e45ba
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
12 years agoDisable particle-related examples from tst_examples
Chris Adams [Wed, 14 Mar 2012 06:07:03 +0000 (16:07 +1000)]
Disable particle-related examples from tst_examples

CustomParticle and ShaderEffect are currently broken.
Disabling these examples until they can be fixed.

Task-number: QTBUG-24034
Change-Id: Ic1ebba1f66f28495822cd729af1e1c24acad79da
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
12 years agoFix wrap modes not being set.
Gunnar Sletta [Thu, 8 Mar 2012 22:15:11 +0000 (23:15 +0100)]
Fix wrap modes not being set.

Change-Id: Id75ae3f01e6ed72b4a754e05bd55d5ed73b56920
Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
12 years agoRemove use of redundante nullPixmap image reference
Gunnar Sletta [Fri, 9 Mar 2012 10:47:42 +0000 (11:47 +0100)]
Remove use of redundante nullPixmap image reference

Change-Id: I40b82c25c813722a94d9897e1f2e1dd8a1681762
Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
12 years agoReuse a QQuickCanvas in examples auto test.
Martin Jones [Wed, 14 Mar 2012 02:41:37 +0000 (12:41 +1000)]
Reuse a QQuickCanvas in examples auto test.

Much faster than creating a new one for each example.

Change-Id: Ic32f244047e0dba78134ba0e3d368260be838f1e
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoRefactor canvas examples by following the new example guidelines.
Charles Yin [Wed, 29 Feb 2012 01:48:06 +0000 (11:48 +1000)]
Refactor canvas examples by following the new example guidelines.

Change-Id: I1cc749ad11b8439239ba739f40e99b78af7351ab
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
12 years agoSupport module api objects in v4.
Michael Brasser [Thu, 8 Mar 2012 04:41:40 +0000 (14:41 +1000)]
Support module api objects in v4.

Change-Id: I72911a2c8e0a8613e53861da7b38312e51bf57da
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
12 years agoReuse QQuickView in GridView table driven tests
Martin Jones [Tue, 13 Mar 2012 23:50:31 +0000 (09:50 +1000)]
Reuse QQuickView in GridView table driven tests

Makes the tests run faster since we're not waiting for a
window to appear all the time.

Change-Id: Id2442cf32055084088c19865499055c7282bcae0
Reviewed-by: Bea Lam <bea.lam@nokia.com>
12 years agoMore refactoring on animation controller
Charles Yin [Wed, 7 Mar 2012 14:12:58 +0000 (00:12 +1000)]
More refactoring on animation controller

Add a flag and helper functions for disabling user control in QAbstractAnimationJob
class and make it synchronized with QDeclarativeAnimation class's disableUserControl
flag.

Change-Id: Ifa84ab0c78291941469c33f2cafe5f61ee718b2c
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
12 years agoRemove the usage of deprecated qdoc macros.
Casper van Donderen [Thu, 1 Mar 2012 17:05:16 +0000 (18:05 +0100)]
Remove the usage of deprecated qdoc macros.

QDoc now has support for Doxygen style commands for italics, bold
and list items. This change applies that change in QDoc to the
actual documentation.

Task-number: QTBUG-24578
Change-Id: I62d203f21df63a95ee236e578b10418fd9680707
Reviewed-by: Jerome Pasion <jerome.pasion@nokia.com>