platform/upstream/qtdeclarative.git
9 years agoAdapt to deprecation of QProcess::error(...) signal
Ulf Hermann [Tue, 14 Jul 2015 10:26:56 +0000 (12:26 +0200)]
Adapt to deprecation of QProcess::error(...) signal

Change-Id: Icf708af4ab968c6592f78f90c3758e30dbe9195d
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
9 years agoDo not leak the texture factory for cancelled jobs
Albert Astals Cid [Fri, 3 Jul 2015 09:38:50 +0000 (11:38 +0200)]
Do not leak the texture factory for cancelled jobs

Change-Id: Ie18e019402857acd17203681d45adaf32be54fcc
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
9 years agoFix potential use of incorrect bounds in delegate tracking.
Michael Brasser [Tue, 7 Jul 2015 21:51:55 +0000 (16:51 -0500)]
Fix potential use of incorrect bounds in delegate tracking.

Using GridView.SnapToRow and GridView.ApplyRange with a top margin
could lead to the view jumping (rather than smoothly transitioning)
when changing the currentIndex.

Change-Id: I6936b378220f59e8d416f7531cf8b6906c723cb2
Task-number: QTBUG-45640
Reviewed-by: Martin Jones <martin.jones@qinetic.com.au>
9 years agoRemove unused code
Frank Meerkoetter [Sat, 4 Jul 2015 19:56:15 +0000 (21:56 +0200)]
Remove unused code

These methods weren't used anywhere.

Change-Id: I002bcead01fc5818846e5d3ccf06bd0adbed5f51
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoFix tst_qqmldebuglocal on QNX.
Rafael Roquetto [Thu, 2 Jul 2015 12:18:10 +0000 (09:18 -0300)]
Fix tst_qqmldebuglocal on QNX.

QNX does not place library functions on the default namespace. Either use
namespace std or explicitly state the namespace prefix.

Change-Id: I1037c16316b9545ea6214289a3af9a549e83613c
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoFix QQuickListViewPrivate::releaseItem()
J-P Nurmi [Mon, 6 Jul 2015 12:51:45 +0000 (14:51 +0200)]
Fix QQuickListViewPrivate::releaseItem()

Fixes a regression introduced by 1e3924d. The FxViewItem gets deleted
by QQuickItemViewPrivate::releaseItem(), so the QQuickItem pointer must
be stored before calling the base class implementation.

Change-Id: I0bcffc7bee8a4cdbebdce0fe2d2b990bfa52dc6c
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoUse QQmlDebuggingEnabler::StartMode in connectToLocalDebugger
Ulf Hermann [Thu, 2 Jul 2015 07:51:04 +0000 (09:51 +0200)]
Use QQmlDebuggingEnabler::StartMode in connectToLocalDebugger

This unifies the API and gets rid of an ambiguous bool parameter.

Change-Id: If9d8906f9cd366cf37bd1bdded7fbd6c62146e32
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoPrevent errors when removing items from Repeater that reference parent.
Michael Brasser [Tue, 23 Jun 2015 18:13:01 +0000 (13:13 -0500)]
Prevent errors when removing items from Repeater that reference parent.

Use the same ordering as item views and release before unparenting.

Change-Id: I0346342cfcaf9385d8385769795dd5ba35fc43aa
Task-number: QTBUG-46828
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
9 years agoFix segfault if QQuickImageResponse actually returns an error string
Albert Astals Cid [Tue, 30 Jun 2015 08:35:23 +0000 (10:35 +0200)]
Fix segfault if QQuickImageResponse actually returns an error string

Change-Id: Ieda5250157dea96bcd5a86d0617f1d64156242e7
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
9 years agoImprove QQuickImageResponse::textureFactory documentation a bit
Albert Astals Cid [Tue, 30 Jun 2015 08:38:06 +0000 (10:38 +0200)]
Improve QQuickImageResponse::textureFactory documentation a bit

Change-Id: Iabbe4fc3fe1806d8b0740fa3dd9309d6137ccbac
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
9 years agoMerge remote-tracking branch 'origin/5.5' into dev
Liang Qi [Tue, 30 Jun 2015 07:08:35 +0000 (09:08 +0200)]
Merge remote-tracking branch 'origin/5.5' into dev

Conflicts:
.qmake.conf
src/qml/qml/qqmlengine.cpp
src/quick/items/qquickitemsmodule.cpp
tools/qml/main.cpp

Change-Id: Ida8daf6b4d7e675385f2f5514c446e52dedaf136

9 years agoListView: more robust output in debug message
Liang Qi [Thu, 25 Jun 2015 12:43:27 +0000 (14:43 +0200)]
ListView: more robust output in debug message

Contains essentially the same information, but allows the
item pointer to be null.

Change-Id: Ib848e0050c895facfbf13bddc6fec12df37a66ff
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
9 years agoFixed a QQuickListView crash
Liang Qi [Thu, 25 Jun 2015 15:14:40 +0000 (17:14 +0200)]
Fixed a QQuickListView crash

When an ObjectModel item is removed and destroyed.

Task-number: QTBUG-46798
Change-Id: Ia41dd359d9f3ec5b7af85498dc798f7ab55dca3c
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
9 years agoQQuickFlickable: Accept pixel wheel events as well as angle wheel events.
Robin Burchell [Mon, 22 Jun 2015 19:42:26 +0000 (21:42 +0200)]
QQuickFlickable: Accept pixel wheel events as well as angle wheel events.

This fixes the case with two overlapping Flickables both handling
wheel events (i.e. not preventing propagation).

Change-Id: Ie59ffb02c5e9a52055678d662606543a80414c21
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
9 years agoRemove some char pointers from .data section
Sérgio Martins [Mon, 29 Jun 2015 10:14:05 +0000 (11:14 +0100)]
Remove some char pointers from .data section

Without const the compiler introduces indirection, adds pointers in .data
pointing to .rodata. With const no indirection is needed and .rodata is used directly.

The ones I removed weren't used anywhere.

Change-Id: Iec4513469433155b2bc289cd8494edeee4986e02
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoAdd lancelot test for Emoji text rendering / color glyphs
Tor Arne Vestbø [Fri, 26 Jun 2015 15:37:50 +0000 (17:37 +0200)]
Add lancelot test for Emoji text rendering / color glyphs

We test both native text rendering and distance field text rendering
(which should switch to native for the emoji glyphs automatically),
in various configurations of text color, opacity, and background
color.

Change-Id: I06178820943cd2a52cf338f7eb5c0fca881cb625
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
9 years agoBump version
Oswald Buddenhagen [Mon, 29 Jun 2015 08:47:36 +0000 (10:47 +0200)]
Bump version

Change-Id: If10035949b42f8481dc182af3d176e68d07d71a3

9 years agoQSGThreadedRenderLoop::maybeUpdate: Micro-optimize.
Robin Burchell [Wed, 24 Jun 2015 10:02:42 +0000 (12:02 +0200)]
QSGThreadedRenderLoop::maybeUpdate: Micro-optimize.

* Put the cheap checks (pointer ones) first
* Don't call currentThread twice as it involves a mutex lock/unlock

Change-Id: I5df92ea99b034301113e9bd34f8a66df1a7e7dfe
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
9 years agoFix inefficient usages of qDeleteAll()
Sérgio Martins [Fri, 19 Jun 2015 16:57:54 +0000 (17:57 +0100)]
Fix inefficient usages of qDeleteAll()

No reason to iterate through all items to create a temporary
QList we don't need.

Change-Id: I3c5388f026ded0290afb9dd35fc7934011c4998d
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
9 years agoAdd option to use a local socket for QML debugging
Ulf Hermann [Tue, 2 Dec 2014 14:57:06 +0000 (15:57 +0100)]
Add option to use a local socket for QML debugging

Using a TCP debug server comes with a number of drawbacks. It has a
larger overhead than other connection types, the application has to
be able to access the network and there has to be an open port we can
find somehow.

Change-Id: Ia7fb24006b89419988c6504797303d84c3aa1bbc
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoMerge remote-tracking branch 'origin/5.5.0' into 5.5
Liang Qi [Fri, 26 Jun 2015 12:03:55 +0000 (14:03 +0200)]
Merge remote-tracking branch 'origin/5.5.0' into 5.5

Change-Id: I4020a1b3c59dea18faf7cbcbb78b90fcfc3680f0

9 years agoFix documentation for ItemSelectionModel
Gabriel de Dietrich [Wed, 24 Jun 2015 13:59:45 +0000 (15:59 +0200)]
Fix documentation for ItemSelectionModel

Change-Id: I28f61e1853ea2cc75fbf814f76a7ef09e0d17f5d
Reviewed-by: Caroline Chao <caroline.chao@theqtcompany.com>
9 years agoMake QQmlDebugService ctor protected
Ulf Hermann [Mon, 15 Jun 2015 13:51:00 +0000 (15:51 +0200)]
Make QQmlDebugService ctor protected

No one needs a bare debug service.

Change-Id: I45a2f2437f51197707af2743faad1845b8007053
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoLoad inspector plugin by IID, instead of blacklisting file names.
Ulf Hermann [Fri, 12 Jun 2015 09:53:31 +0000 (11:53 +0200)]
Load inspector plugin by IID, instead of blacklisting file names.

The previous approach only works with a very limited number of
available plugins.

Change-Id: I8515c7f329d6a2fb5ddbf7d91ac61b4ce0c4e550
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoFix disabling of text input and pixmap cache tests on QT_NO_LIBRARY
Ulf Hermann [Thu, 18 Jun 2015 11:51:48 +0000 (13:51 +0200)]
Fix disabling of text input and pixmap cache tests on QT_NO_LIBRARY

This way it works with the supported -no-feature-library flag to
configure, rather than the unsupportd -D QT_NO_LIBRARY. Also, the
the parts of the tests that can be executed stay active now.

Change-Id: I082b1c84f148a10eaaf4443c931c395bdd1dc4c3
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoDisable the memory profiler if we cannot load libraries.
Ulf Hermann [Thu, 11 Jun 2015 15:59:02 +0000 (17:59 +0200)]
Disable the memory profiler if we cannot load libraries.

Change-Id: I24c28ae2a79f382e10fa6cc5ad16f97f2806c1eb
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoDisable plugin loading in QQmlDebugServer if QT_NO_LIBRARY
Ulf Hermann [Thu, 18 Jun 2015 11:45:47 +0000 (13:45 +0200)]
Disable plugin loading in QQmlDebugServer if QT_NO_LIBRARY

Change-Id: I29682fc069cb457abeca90a1e1f7f7c964ed1607
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoDon't try to load the QML inspector plugins if QT_NO_LIBRARY
Ulf Hermann [Thu, 11 Jun 2015 15:59:55 +0000 (17:59 +0200)]
Don't try to load the QML inspector plugins if QT_NO_LIBRARY

Change-Id: I5bbb9184e4a0614aad3110baef27afde947315f0
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoCorrectly initialize ListView section attached properties.
Martin Jones [Wed, 24 Jun 2015 05:56:09 +0000 (15:56 +1000)]
Correctly initialize ListView section attached properties.

During item insertion, indexes of items in the visibleItems list were
not adjusted before new items were created. Section initialization was
broken during insertion because section calculation relies on the
indexes of the items in the visibleItems list. The incorrect section
properties caused spurious section header creation, and layout issues.

Apply the index offset before creating the new items. This mirrors what
GridView already does.

Change-Id: I549a81825cf0e979bc5830840bf6cb75c7a82cac
Task-number: QTBUG-43873
Reviewed-by: Bea Lam <bea.lam@jollamobile.com>
9 years agoClear stringCache explicitly instead of asserting its emptiness.
Dmitry Volosnykh [Thu, 21 May 2015 07:52:49 +0000 (10:52 +0300)]
Clear stringCache explicitly instead of asserting its emptiness.

This assumption does not hold when PathView's path.pathElements list is
updated with new contents at runtime.

Task-number: QTBUG-46255
Change-Id: I6b0d7ee8ee2d67ca0138eacdf0ad221338f788e4
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
9 years agoFix missing images when alpha and shader effects are involved
Laszlo Agocs [Tue, 23 Jun 2015 16:39:40 +0000 (18:39 +0200)]
Fix missing images when alpha and shader effects are involved

Once we hit removedFromAtlas() and the glCopyTexImage2D() path, bad things
tend to happen with OpenGL ES, both on certain embedded devices (Beaglebone, RPi)
and ANGLE.

ANGLE just rejects GL_BGRA_EXT with INVALID_ENUM. So if it fails, just try
with GL_RGBA. The BGRA extensions do not mention glCopyTexImage2D in any form
and in plain GLES (any version) BGRA does not exist. So rejecting it may be valid,
depending on how one reads the specs.

Same problem on Beaglebone, where the call with BGRA fails as INVALID_OPERATION.

The RPi 1 and 2 fails in a different way: the temporary framebuffer is not complete
because BGRA textures are not supported as color attachments. So our only choice
here is to do what we do for some Android devices already: ignore BGRA support.

Task-number: QTBUG-46806
Change-Id: I89b3b38bf7f8883c39509606ec5ae525f131292b
Reviewed-by: aavit <eirik.aavitsland@theqtcompany.com>
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
9 years agoDoc: resize tables with overflow
Nico Vertriest [Thu, 4 Jun 2015 10:41:56 +0000 (12:41 +0200)]
Doc: resize tables with overflow

Task-number: QTBUG-46475
Change-Id: Iebb2f7677f8b514d2b3e08480abfc98a0e155c1c
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
9 years agoQJSValue: Remove no-longer-existent v8 from benchmark.
Robin Burchell [Wed, 24 Jun 2015 12:44:26 +0000 (14:44 +0200)]
QJSValue: Remove no-longer-existent v8 from benchmark.

Change-Id: Ie83a4ec1d3eb20297bbb5a4a6a400091d9568a1f
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
9 years agoqquicktextedit_p_p.h: cleanup unneeded include
J-P Nurmi [Wed, 24 Jun 2015 13:57:01 +0000 (15:57 +0200)]
qquicktextedit_p_p.h: cleanup unneeded include

A forward declaration of QQuickTextControl is enough. This solves
a linking error on Windows, when QQuickTextAreaPrivate inherits
QQuickTextEditPrivate.

Change-Id: I05a2fa5745e27eea51f7c0a5a0360c3fbb563544
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
9 years agoQQuickAnchors: Use a simple sorted list rather than a QSet to remove duplicates.
Robin Burchell [Sat, 6 Jun 2015 09:19:38 +0000 (11:19 +0200)]
QQuickAnchors: Use a simple sorted list rather than a QSet to remove duplicates.

This is significantly less allocation-happy than QSet (removing around 30mb of
transient allocations when creating 5000 instances of one of the creation
benchmarks).

It increases the count of delegates_tworects per frame from ~520 per frame to
~600 per frame for me.

Change-Id: If7edd56890c93e0caf7957d08e80506e87491773
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
9 years agoExport QQuickTextInputPrivate and QQuickTextEditPrivate
J-P Nurmi [Thu, 18 Jun 2015 19:38:57 +0000 (21:38 +0200)]
Export QQuickTextInputPrivate and QQuickTextEditPrivate

...so that QtQuick.Controls 2 TextField and TextArea can inherit them.

Change-Id: I9383927c51a70848753a9f41f374d4161000fbb1
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
9 years agoQQuickImageBase: Use the static form of QFile::exists().
Robin Burchell [Mon, 22 Jun 2015 12:25:31 +0000 (14:25 +0200)]
QQuickImageBase: Use the static form of QFile::exists().

This avoids the penalty of creating a QFile along with a private, engine, etc
when we're going to do nothing with it. This raises the delegates_image creation
benchmark from ~450 to ~500 per frame for me.)

Change-Id: I7665a55a3ee23102325f5d5f330967743b0c8538
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
9 years agoForce completion of asynchronously loaded components.
Robert Griebl [Wed, 17 Jun 2015 14:38:47 +0000 (16:38 +0200)]
Force completion of asynchronously loaded components.

[ChangeLog][QtQuick][QQmlComponent] Synchronously complete the loading of a
Asynchronous QQmlComponent, if a PreferSynchronous QQmlComponent is created
for the same url (given that this url does support synchronous loading).

Change-Id: I3291d0569a69bac2aeb4815f1068a426ef2707ef
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoSupport 32-bit color bitmap glyphs in native text rendering.
Eli Fidler [Fri, 19 Jun 2015 20:44:29 +0000 (16:44 -0400)]
Support 32-bit color bitmap glyphs in native text rendering.

We had been accidentally using the 8-bit alpha glyph shader, which
resulted in rendering solid black outlines of the glyphs.

Task-number: QTBUG-37986
Task-number: QTBUG-45514
Change-Id: Ie8728d50068f58d659e24bc5db2d73e01ca8db75
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
9 years agoAdd a property to enable vertical mirroring in QQuickFramebufferObject
Laszlo Agocs [Fri, 19 Jun 2015 10:19:06 +0000 (12:19 +0200)]
Add a property to enable vertical mirroring in QQuickFramebufferObject

[ChangeLog] Added a mirrorVertically property to QQuickFramebufferObject.

Task-number: QTBUG-41073
Change-Id: Ib69cbfe7b2f6ae42913d857460431195ff92e53a
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
9 years agoListView/GridView contentHeight should include delayRemove-d items
Matt Vogt [Mon, 22 Jun 2015 07:40:02 +0000 (17:40 +1000)]
ListView/GridView contentHeight should include delayRemove-d items

When one or more items are in delayRemove state, the ListView's
contentHeight property should include their height. This previously
failed if the delayRemove items were at the end of the visibleItems
list.  Also applies to GridView.

Change-Id: Id839e850367a3503123e8ac81dac6ebdccef1a1f
Reviewed-by: Martin Jones <martin.jones@qinetic.com.au>
9 years agoV4: add mips32 disassembler.
Julien Brianceau [Wed, 17 Jun 2015 14:39:11 +0000 (16:39 +0200)]
V4: add mips32 disassembler.

Add a rudimentary disassembler for mips32 instruction set.
Although few instructions might be missing, the whole set from
MacroAssemblerMIPS should be covered.

Change-Id: I9b1b9b40537b99098ca65036f671651d04fe1ab6
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoDon't try to load (or unload) QML plugins if QT_NO_LIBRARY
Ulf Hermann [Thu, 11 Jun 2015 15:57:56 +0000 (17:57 +0200)]
Don't try to load (or unload) QML plugins if QT_NO_LIBRARY

Most of the code already has those #ifdefs, so let's add the missing
ones.

Change-Id: I2a46d5ab660daa837d9ce432184d0b55818a5dc1
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoSmaller code cleanups
Lars Knoll [Fri, 12 Jun 2015 11:07:39 +0000 (13:07 +0200)]
Smaller code cleanups

Change-Id: Id3bc6ea5615a462d7a41ceb1fa18b4fb090e0d51
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoPort from Q_ENUMS to new macro Q_ENUM.
Friedemann Kleint [Wed, 13 May 2015 07:59:40 +0000 (09:59 +0200)]
Port from Q_ENUMS to new macro Q_ENUM.

Remove Q_ENUMS in favor of the new Q_ENUM macro which provides registration
as meta enum and a debug stream operator.

QQuickXmlListModel::Status is left unmodified as porting it creates
a link error in tst_qquickxmllistmodel.

Change-Id: Id5e6192c9f85e7c94332508fbd91873ddda31e1a
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
9 years agoV4: fix failing tests for right shifts over 0 bits on non-Intel.
Erik Verbruggen [Tue, 16 Jun 2015 08:14:23 +0000 (10:14 +0200)]
V4: fix failing tests for right shifts over 0 bits on non-Intel.

Change-Id: I6a0428be2b81cb6723b591356f78712ef2cc0b8b
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoCleanup retrieval of scope and context objects
Lars Knoll [Mon, 15 Jun 2015 14:41:24 +0000 (16:41 +0200)]
Cleanup retrieval of scope and context objects

Change-Id: I9c6174181f950bc4f829727dc6acdfe82fa4e894
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoCleanup signature of get/setProperty in the object wrapper
Lars Knoll [Mon, 15 Jun 2015 14:09:39 +0000 (16:09 +0200)]
Cleanup signature of get/setProperty in the object wrapper

Change-Id: I3612a8fe952656da2239e4baf0b460bef46e3f62
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoAdd some typesafety
Lars Knoll [Mon, 15 Jun 2015 13:52:51 +0000 (15:52 +0200)]
Add some typesafety

Even though the goal is to get rid of the contextwrapper, this
helps in the meantime.

Change-Id: I234ef39f74fb0eee78710884de6a1c90763bce74
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoClean up ExecutionContext's for QML
Lars Knoll [Thu, 11 Jun 2015 14:35:11 +0000 (16:35 +0200)]
Clean up ExecutionContext's for QML

Create a specialized QmlContext instead of re-using
a call context with a QQmlContextWrapper as activation
object.

This saves some memory and opens up the route to getting
rid of the context wrapper in a future commit.

Change-Id: I1591c73932a08564fddf5137ac05bbc6f31dd4d5
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoGet rid of QQmlIdObjectsArray
Lars Knoll [Wed, 10 Jun 2015 12:49:16 +0000 (14:49 +0200)]
Get rid of QQmlIdObjectsArray

The context wrapper can do this directly, and give access to the
array by index. Simplifies code, and is one less object we need
to allocate on the JS heap.

Change-Id: I9d9d3a47920e97c42234a27aa66cd5ae3cc28085
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoSmaller cleanup in the context wrapper
Lars Knoll [Wed, 10 Jun 2015 12:37:21 +0000 (14:37 +0200)]
Smaller cleanup in the context wrapper

Change-Id: If9f8139cdb67bd7a1179d8b1ab18bde04e3b2fbb
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoSmaller cleanup to QQmlJavaScriptExpression
Lars Knoll [Wed, 10 Jun 2015 12:22:08 +0000 (14:22 +0200)]
Smaller cleanup to QQmlJavaScriptExpression

Clean up some of the code to create binding expressions.

Change-Id: I1cd826685713b44166c58b114fa91135a664591d
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoSimplify property capturing code
Lars Knoll [Wed, 10 Jun 2015 11:32:20 +0000 (13:32 +0200)]
Simplify property capturing code

No need to inherit from a base class defined in QQmlEnginePrivate.
The capture handling can be a simple value based class without
virtual methods that is allocated on the stack.

Change-Id: Ib0ddf4afcaf154b3f953d8c9322f5bec196d7abf
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoFix some function signatures and remove an unused function
Lars Knoll [Sun, 3 May 2015 15:51:47 +0000 (17:51 +0200)]
Fix some function signatures and remove an unused function

The returned value of these methods is never used, so save
some cycles and return void.

Change-Id: I7e2430130853af12de9685c4383197c80c151175
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoDoc: document work-around for static builds using dynamic object creation
Richard Moe Gustavsen [Wed, 17 Jun 2015 13:10:22 +0000 (15:10 +0200)]
Doc: document work-around for static builds using dynamic object creation

Currently we have no system to detect import dependencies that are
not explicitly added to a QML file (other than qmldir "depends", which
is for plugins only). Until we do, document the work-around.

Change-Id: Ic7244728b63bd1f2eb4bf9734474b3e6e48e26fe
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoQQmlBoundSignal doesn't need a vtable
Lars Knoll [Sun, 3 May 2015 21:53:20 +0000 (23:53 +0200)]
QQmlBoundSignal doesn't need a vtable

Change-Id: I229740b6cff12a7b43a9ec5ab5b1c5a216843547
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoMove setting the callback type for the endpoint to the constructor
Lars Knoll [Sun, 3 May 2015 18:02:05 +0000 (20:02 +0200)]
Move setting the callback type for the endpoint to the constructor

Change-Id: I1881fc3e79f93e3cfe01a201d60956c460c0d196
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoSave another pointer in QQmlBoundSignal
Lars Knoll [Sun, 3 May 2015 17:55:42 +0000 (19:55 +0200)]
Save another pointer in QQmlBoundSignal

isEvaluating is not really needed as it's tightly coupled
to the isNotifying flag in the parent class. Use that instead,
to get rid of it.

Change-Id: Ic7274ac54e4d380567522c8a549b98d5ed1a1798
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoNo need to store the same data twice
Lars Knoll [Sun, 3 May 2015 17:28:53 +0000 (19:28 +0200)]
No need to store the same data twice

Remove the index member from QQmlBoundSignal, as the
NotifierEndpoint already stores the index.

Change-Id: Idd8848ae1ca97b964ca1be0bab1c8aba540ace43
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoDon't store the qmlscope object in a persistent
Lars Knoll [Sun, 3 May 2015 17:11:53 +0000 (19:11 +0200)]
Don't store the qmlscope object in a persistent

This doesn't make sense, as the persistent is never being
used. So either the scope object is being used from somewhere
else in which case it'll be referenced and marked from there,
or it's not being used in which case, we might as well collect it.

Change-Id: I56cb45282cbc795d4c59314c10491dedb9b7d478
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoGet rid of QQmlBoundSignalExpression::ExtraData
Lars Knoll [Sun, 3 May 2015 16:38:29 +0000 (18:38 +0200)]
Get rid of QQmlBoundSignalExpression::ExtraData

The extra data was only used to delay initialization of the
required FunctionObject to the first time evaluate got called.
In addition, the constructor using ExtraData was only ever called
from the debugger. In that case performance can't be critical, so
we can just as well do function object creation at construction time.

This saves one pointer in the object.

Change-Id: I46ce9aa325f0fa95b5b0e374e9c07d673e454dd4
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoGet rid of QQmlAbstractBoundSignal
Lars Knoll [Sun, 3 May 2015 15:02:55 +0000 (17:02 +0200)]
Get rid of QQmlAbstractBoundSignal

QQmlBoundSignal is the only class inheriting from it, so we might
as well get rid of the abstract base class.

Change-Id: I1b59a5d30d9a6ff1111e54f47530687b47f39d70
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoMinor cleanup
Simon Hausmann [Tue, 12 May 2015 12:01:47 +0000 (14:01 +0200)]
Minor cleanup

Narrow the scope of the match offsets counter, as suggested by the clang static
code analyzer. In the second case we just wrote to the variable but never read
it.

Change-Id: I9e5e22bd27f892e76eccfea8b02f25795b689c36
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
9 years agoFix to debug flag DATABLOB_DEBUG
Tuomas Heimonen [Wed, 22 Apr 2015 08:21:06 +0000 (11:21 +0300)]
Fix to debug flag DATABLOB_DEBUG

Change-Id: I65ea0283c643371f3debd4a29a5fe4dbcb1c642c
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoStore a Heap::String pointer in StringObject
Lars Knoll [Thu, 30 Apr 2015 22:08:55 +0000 (00:08 +0200)]
Store a Heap::String pointer in StringObject

Change-Id: I926c5bb2dd4f1613af6737d4200e568f0ec13d58
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoGet rid of the tmpProperty in StringObject
Lars Knoll [Thu, 30 Apr 2015 21:50:50 +0000 (23:50 +0200)]
Get rid of the tmpProperty in StringObject

This was a bad hack. The new code is cleaner, and should
also perform faster in a couple of cases (avoiding the creation
of a temporary String that is then only thrown away).

Change-Id: Ia6f978e037506484adbc01a61606307d4645b343
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoFix Object::getOwnProperty API
Lars Knoll [Thu, 30 Apr 2015 21:29:28 +0000 (23:29 +0200)]
Fix Object::getOwnProperty API

Don't return a Proprety pointer, this has issues with
StringObject. Instead pass in a pointer that will get filled
with the correct data.

Change-Id: I28536ca129f5be3a4a1bc9583223521458411195
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoSimplify QJSValueIterator code and make it GC safe
Lars Knoll [Thu, 30 Apr 2015 20:31:21 +0000 (22:31 +0200)]
Simplify QJSValueIterator code and make it GC safe

Change-Id: Ie6e4c0d9b8a0b10bedfe32aa6344a2fa8a9a3eac
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoQSGDefaultRectangleNode: Fix gradient position calculations
Santtu Lakkala [Fri, 29 May 2015 15:40:56 +0000 (18:40 +0300)]
QSGDefaultRectangleNode: Fix gradient position calculations

Change the gradient position calculations to consider full border, not
just half of it, because the border is fully drawn inside the
rectangle, not half outside, half inside.

Task-number: QTBUG-36059
Change-Id: Ie7dec94d9f6e03ae07c612c6e3b1950781973dc7
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
9 years agoFix the RegExpCache to be GC safe
Lars Knoll [Tue, 28 Apr 2015 16:54:24 +0000 (18:54 +0200)]
Fix the RegExpCache to be GC safe

Change-Id: I6c20c2c5fcdaefa0743f7c1f50cf6dd8d8edc753
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoFix docs and remove an invalid ###
Lars Knoll [Thu, 30 Apr 2015 20:08:05 +0000 (22:08 +0200)]
Fix docs and remove an invalid ###

Change-Id: I702529114d3637e48d0159a6b540134b3117b0d1
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoMake QV4::Script GC safe
Lars Knoll [Tue, 28 Apr 2015 17:18:40 +0000 (19:18 +0200)]
Make QV4::Script GC safe

Change-Id: I559458278cb6a0bbbc4da441034115aa4c72b058
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoStore rootcontext in a GC safe way
Lars Knoll [Tue, 28 Apr 2015 17:15:25 +0000 (19:15 +0200)]
Store rootcontext in a GC safe way

Change-Id: If81d638c0ccd2b34df918ae5055e309f4eae031f
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoRemove another wrong comment
Lars Knoll [Tue, 28 Apr 2015 16:56:59 +0000 (18:56 +0200)]
Remove another wrong comment

The code below looks perfectly ok.

Change-Id: I966b54b0ea1fd71898c0305da61b046195ab86a5
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoExport QQuickAbstractAnimationPrivate
Michal Klocek [Tue, 9 Jun 2015 08:09:05 +0000 (10:09 +0200)]
Export QQuickAbstractAnimationPrivate

QtLocation requires different interpolators
in coordinate animation, this export is required
to be able to subclass QQuickPropertyAnimationPrivate

Change-Id: I23ed964d165fa5bce8487f8ac4c38ea00a3f3ba8
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
9 years agoVerify that debug client exists before interacting with it.
Ulf Hermann [Fri, 12 Jun 2015 13:10:45 +0000 (15:10 +0200)]
Verify that debug client exists before interacting with it.

We don't want the tests to crash if the connection cannot be
established.

Change-Id: Iebd6d008f6a043b229738d607068ea822fcded9d
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
9 years agoEnable high-dpi mode for qml.app on OS X.
Morten Johan Sørvig [Tue, 16 Jun 2015 11:44:38 +0000 (13:44 +0200)]
Enable high-dpi mode for qml.app on OS X.

Add missing "NSPrincipalClass" key.

Change-Id: If7d02470ecee9f85731626f26f2381d434db9367
Reviewed-by: Jens Bache-Wiig <jensbw@gmail.com>
9 years agoRemove two ### comments
Lars Knoll [Tue, 28 Apr 2015 16:36:32 +0000 (18:36 +0200)]
Remove two ### comments

The comments indicated that the code wasn't GC safe, but it looks
perfectly ok. So simply remove the comments.

Change-Id: Iad5ed8cd615a4c135c35639cfa734c370c73e379
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoFix the GC unsafe stack variable in Stringify
Lars Knoll [Tue, 28 Apr 2015 16:31:14 +0000 (18:31 +0200)]
Fix the GC unsafe stack variable in Stringify

Change-Id: Icf90f43bedebe05a148499cd2de6726eaa993293
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoFix another place where we were not compatible with a moving GC
Lars Knoll [Tue, 28 Apr 2015 16:27:15 +0000 (18:27 +0200)]
Fix another place where we were not compatible with a moving GC

Don't store a vector of Heap::String's. Instead allocate them on the
JS stack and simply keep a pointer to them.

Change-Id: Ie12b5f4d56446234519b5e2f0b33120834e927ab
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoCleanup: Store a pointer to the engine not the context
Lars Knoll [Tue, 28 Apr 2015 16:09:11 +0000 (18:09 +0200)]
Cleanup: Store a pointer to the engine not the context

The context is actually only ever used to get to the engine,
so let's rather store that one instead.

Change-Id: Id6ea8044ac3fb2c273b529f18c85af14e7104892
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoFix GC problem with json conversion methods
Lars Knoll [Tue, 28 Apr 2015 16:02:23 +0000 (18:02 +0200)]
Fix GC problem with json conversion methods

The ObjectSet used to protect against recursion is not safe
against a GC that moves objects around. Fix this by storing
pointers to QV4::Object in there instead.

Change-Id: I88bcac330246a1c9180caed13be1f6ab5c40a6ae
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoFix some function signatures
Lars Knoll [Sun, 26 Apr 2015 20:58:49 +0000 (22:58 +0200)]
Fix some function signatures

Add a const several places and pass values by pointer, not
reference. This allows us to also get rid of some Scope's.

Change-Id: I3b4c29c22511c947d024457e7b8fa2aaa6bec55d
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoRemove unused typedef
Lars Knoll [Sun, 26 Apr 2015 20:30:17 +0000 (22:30 +0200)]
Remove unused typedef

Change-Id: I19b077334705d00a2c8b2800f89962f04eb37212
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoGet rid of qv4qmlextensions
Lars Knoll [Sun, 26 Apr 2015 12:24:08 +0000 (14:24 +0200)]
Get rid of qv4qmlextensions

It only contained the proto for the value type wrapper. Instead
just create it lazily, but reserve space on the js stack for it.

Change-Id: I2301549b6dc4007bd5ac848e1dca25aafd583c4a
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoVersion scrollGestureEnabled as a new property
Alan Alpert [Thu, 11 Jun 2015 01:40:22 +0000 (18:40 -0700)]
Version scrollGestureEnabled as a new property

Change-Id: I3408cf93a90327e8abbe2f8b7a85d8a84e24ae58
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoqml: Output information about build and GL renderer in verbose mode.
Friedemann Kleint [Wed, 3 Jun 2015 09:05:12 +0000 (11:05 +0200)]
qml: Output information about build and GL renderer in verbose mode.

Make static contain() a member of LoadWatcher() and connect to
QQuickWindow::onOpenGlContextCreated(). Print information similar
to qtdiag.

Change-Id: I0bc6bc43418e4392c6b5e2643d4f7899ff4f4f8b
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
9 years agoDisable pixmap cache and text input tests if QT_NO_LIBRARY
Ulf Hermann [Thu, 11 Jun 2015 15:49:00 +0000 (17:49 +0200)]
Disable pixmap cache and text input tests if QT_NO_LIBRARY

They depend on loading plugins.

Change-Id: Iee2ec4306a9ee2eae6447ee28552c010e4d31b8c
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
9 years agoDon't wait forever in QQmlDebugClient test
Ulf Hermann [Fri, 12 Jun 2015 15:21:19 +0000 (17:21 +0200)]
Don't wait forever in QQmlDebugClient test

The test is intended to wait for 5 seconds but in fact it waited for
5 * 30.1 seconds.

Change-Id: Id2af7513fc7af6ab5e67d04d802a24744483f5e1
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
9 years agoInitialize members of tst_QQmlEngineDebugService
Ulf Hermann [Fri, 12 Jun 2015 12:55:49 +0000 (14:55 +0200)]
Initialize members of tst_QQmlEngineDebugService

Change-Id: Id9fe7d2bd630bcfe79634b3a4465ec7ad764d18c
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
9 years agoQuickTest: Enable use of BLACKLIST file
Caroline Chao [Tue, 2 Jun 2015 12:49:23 +0000 (14:49 +0200)]
QuickTest: Enable use of BLACKLIST file

So qml test functions can be blacklisted. Qml test functions have the
following format: TestCaseName::functionName.

Change-Id: Ifcaa8d77d8f0956472aa568dc6dbfcbdde4e5063
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
9 years agoqmlprofiler: Remove some dead code
Ulf Hermann [Fri, 12 Jun 2015 08:17:56 +0000 (10:17 +0200)]
qmlprofiler: Remove some dead code

Change-Id: If1f542bc73d5af259ea3c0a5da40786f8d6f3dbf
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
9 years agoDon't resolve the d-pointer when we don't use it.
Ulf Hermann [Thu, 11 Jun 2015 15:52:54 +0000 (17:52 +0200)]
Don't resolve the d-pointer when we don't use it.

Change-Id: Ia8551e28dcd237a536038ed7f658a3d1164706c6
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
9 years agoAdd QQuickWindow::TextureIsOpaque as option to createTextureFromImage.
Gunnar Sletta [Thu, 11 Jun 2015 08:17:45 +0000 (10:17 +0200)]
Add QQuickWindow::TextureIsOpaque as option to createTextureFromImage.

Opaque textures can be a lot faster, so give this option without
forcing the user to reimplement her/his own QSGTexture class.

The old behavior was that createTextureFromImage() disregarded
TextureHasAlphaChannel and looked solely at the image's format. To
keep this behavior intact, we introduce a second opt-in flag to switch
textures from auto-detect to false, namely TextureIsOpaque.

[ChangeLog][QtQuick][QQuickWindow] Add TextureIsOpaque option to
createTextureFromImage()

Change-Id: I248db4bc5f7920864b6aa8d831ce24d23ad370ef
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
9 years agoQQuickPositioner: move paddings into extraData
Liang Qi [Tue, 9 Jun 2015 09:02:12 +0000 (11:02 +0200)]
QQuickPositioner: move paddings into extraData

Includes Column, Row, Grid and Flow.

Task-number: QTBUG-46529
Change-Id: Ib49e4fa08d95a94b3eca9fc20865acb9281aaad1
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
9 years agoQQuickTextEdit: move paddings into extraData
Liang Qi [Mon, 8 Jun 2015 23:35:49 +0000 (01:35 +0200)]
QQuickTextEdit: move paddings into extraData

Task-number: QTBUG-46529
Change-Id: I67b8125d160213121b30fbb44fa834609d668099
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
9 years agoQQuickTextInput: move paddings into extraData
Liang Qi [Mon, 8 Jun 2015 11:59:09 +0000 (13:59 +0200)]
QQuickTextInput: move paddings into extraData

Task-number: QTBUG-46529
Change-Id: Ifa072dccdf2dc8c52c6865d13ccf1930c92ec51d
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
9 years agoQQuickText: move padding into extraData
Liang Qi [Mon, 8 Jun 2015 11:22:59 +0000 (13:22 +0200)]
QQuickText: move padding into extraData

Task-number: QTBUG-46529
Change-Id: Ifce670a59c367dc1b211ad2c7e797e3a7808cdb2
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
9 years agoMark unused parameters as Q_UNUSED
Ulf Hermann [Thu, 11 Jun 2015 15:54:32 +0000 (17:54 +0200)]
Mark unused parameters as Q_UNUSED

Change-Id: I4f859916debfb39d822a9c2a9c8bdf675d70d702
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>