platform/upstream/qtdeclarative.git
9 years agoPolished documentation for the Binding type.
Kavindra Palaraja [Tue, 21 Jul 2015 17:46:45 +0000 (19:46 +0200)]
Polished documentation for the Binding type.

The current documentation was a bit wordy and not concise. Made some
changes to simplify the sentences and also changed the code samples to
use \qml instead of \code for improved syntax highlighting.

Change-Id: Iefa14ca34a749ebd039f47e26e51086e00684c6f
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoSimplify object/id lookup in QQmlDebugService
Ulf Hermann [Mon, 13 Jul 2015 13:09:42 +0000 (15:09 +0200)]
Simplify object/id lookup in QQmlDebugService

By tracking object destruction we can avoid looping over all cached
objects to find out which ones are still OK and we don't have to
manually clear the cache anymore. Looking up objects by source location
is specific to the engine debug service and should be done there.

Change-Id: I7dab73a7bf9c17087784f1bd9c5aef513b31e2c1
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoDon't change the currentItem after a viewport resize
Alberto Mardegan [Sat, 11 Jul 2015 12:24:53 +0000 (15:24 +0300)]
Don't change the currentItem after a viewport resize

When highlightRangeMode is set to StrictlyEnforceRange and the view gets
resized, we don't want the currentIndex to change.

The code touched by this patch was introduced by commit
I08b7e61496a79f71c3b40fafaca985ae90f88503 back in Qt 4.7 times, and
never changed since then.

Task-number: QTBUG-43555
Change-Id: Ie67faa6898f13a1f7b0f1c4ae6c29721cb7dfa41
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
Reviewed-by: Michael Brasser <michael.brasser@live.com>
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
9 years agoUse QVector instead of QList in V4 profiler
Ulf Hermann [Mon, 13 Jul 2015 10:57:15 +0000 (12:57 +0200)]
Use QVector instead of QList in V4 profiler

For complex types QVector results in better performance.

Change-Id: I8ac3dccfa4272a755d36964b0373dc115f520223
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
9 years agoMake name and version of QQmlDebugService const
Ulf Hermann [Mon, 13 Jul 2015 13:25:15 +0000 (15:25 +0200)]
Make name and version of QQmlDebugService const

They aren't supposed to change after construction.

Change-Id: I4aee0c04f5bb77b0e75c016ecbc72ea34639d587
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoqml: Remove unneeded copy-ctor and copy-assignment operator
Sérgio Martins [Sun, 19 Jul 2015 18:04:41 +0000 (19:04 +0100)]
qml: Remove unneeded copy-ctor and copy-assignment operator

It's passed by value all over the place, so make it trivially-copyable

Change-Id: I6710529b3d9a70c94f02c9c3e505658817de0898
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
9 years agoqml: Pass non-trivially-copyable types by const-ref
Sérgio Martins [Sun, 19 Jul 2015 18:25:25 +0000 (19:25 +0100)]
qml: Pass non-trivially-copyable types by const-ref

Change-Id: Id3d960ee8236a4c6f4bb4e0add1f88dfa32d3592
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
9 years agoUnify #include syntax
Ulf Hermann [Mon, 13 Jul 2015 12:25:00 +0000 (14:25 +0200)]
Unify #include syntax

Change-Id: I4e0e79ebae3d42664bcf617193ca347890cf922e
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoMake QQmlDebugService::name() a const reference
Ulf Hermann [Mon, 13 Jul 2015 12:19:38 +0000 (14:19 +0200)]
Make QQmlDebugService::name() a const reference

Change-Id: I7e75be206a1821018efc435337963f131b2996a8
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
9 years agoWith -no-qml-debug, don't compile debug plugins and tests
Ulf Hermann [Thu, 2 Jul 2015 15:38:20 +0000 (17:38 +0200)]
With -no-qml-debug, don't compile debug plugins and tests

This eliminates many #ifdefs and prevents the compilartion of broken
plugins.

Change-Id: Ib2763ed9e6580307482b885d71c1ad1010959ef2
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoUse by-ref in foreach when T is large or non-trivial
Sérgio Martins [Sat, 4 Jul 2015 09:15:15 +0000 (10:15 +0100)]
Use by-ref in foreach when T is large or non-trivial

Change-Id: I79271fdc3fa064e362dfaa64ff11d8a4c6b7e8c3
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoQML Engine: Support for "PROPFIND" method for XMLHTTPRequest
Valery Kotov [Sun, 31 May 2015 19:47:50 +0000 (22:47 +0300)]
QML Engine: Support for "PROPFIND" method for XMLHTTPRequest

Support for WevDAV PROPFIND method was added to QQmlXMLHttpRequest. Tests for
PROPFIND method in XMLHttpRequest were added.

[ChangeLog][QtQml][QQmlXMLHttpRequest] QQmlXMLHttpRequest now
supports the PROPFIND method in HTTP requests.

Task-number: QTBUG-36456
Change-Id: Ie36fcc901e7c1583840f04166c1774a1defe9308
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoAdding tests for DesignerSupport
Thomas Hartmann [Fri, 10 Jul 2015 10:22:39 +0000 (12:22 +0200)]
Adding tests for DesignerSupport

Change-Id: I577d0e34ce91a1fa11e3e6757bffc7adaec0f1fb
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
9 years agoAdding more DesignerSupport functions
Thomas Hartmann [Mon, 13 Jul 2015 13:24:15 +0000 (15:24 +0200)]
Adding more DesignerSupport functions

The new functions/enablers are split into new classes.

* DesignerSupportItems
  Helper functions to tweak and create items.

* DesignerSupportProperties
  Helper functions to deal with properties and bindings.

* DesignerSupportPropertyChanges
  Helper functions to deal with PropertyChanges.

* DesignerSupportStates
  Helper functions to deal with States.

* DesignerSupportMetaInfo
  Two helper functions to deal with meta info and notication.

DesignerMetaObject is a specialized QQmlVMEMetaObject that implments
notification of property changes and allows to create dynamic properties.

DesignerCustomObjectData provides additional data for each Object. The
main functionality atm is to keep the default values and bindings for
properties, so they can be restored.

Change-Id: I6b6f501c8c5848d62bfcb7e704bc45662e731d54
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
9 years agoUse the to/from Hex functions from QtCore
Thiago Macieira [Sun, 23 Nov 2014 07:34:35 +0000 (23:34 -0800)]
Use the to/from Hex functions from QtCore

Change-Id: I51361cf78765d958a5eb48c6e05df6873979e6db
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agotst_qquickmultipointtoucharea: Do not rely on qCompare(bool, int,...).
Friedemann Kleint [Thu, 16 Jul 2015 14:20:14 +0000 (16:20 +0200)]
tst_qquickmultipointtoucharea: Do not rely on qCompare(bool, int,...).

The overload was added for NokiaX86 and RVCT and is bound for
removal.

Task-number: QTBUG-47260
Change-Id: I4ead3b03c979a3116278d364ef85fe7d83c5f971
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
9 years agoRemove DesignerSupport from bic/data
Thomas Hartmann [Wed, 15 Jul 2015 08:52:56 +0000 (10:52 +0200)]
Remove DesignerSupport from bic/data

DesignerSupport was never public API.

Change-Id: Ieec6f839173502472496ef827e60a742a0ccbe1a
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
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>