Avoid rare crash

In the case where a QML type had been registered with the same
metaobject, you could dereference the c++ type union data when it hadn't
been allocated.

Change-Id: I906d68710cf88b379933eb13cf0668738f07d5f4
Reviewed-by: Matthew Vogt <matthew.vogt@qinetic.com.au>
Only use emitCap when we run into infinite particles

emitCap is intended to prevent issues with multiple emission of infinite
life particles, but it can currently prevent emission of any particles
when particleCount() changes after a reset. Tracking particleCount() on
changes would be inefficient and be more work to integrate with the
correct behavior of infinite particles, so this patch delays the impact
of emitCap until an infinite particle is discovered.

This will lead to a subtle behavior difference of limiting infinite
particle counts based on the count at the first emission, not the first
reset, which could be construed as a bug fix in some situations. This
seems reasonable as a futher subtle behavior change will be needed in
the future to properly support varying counts of infinite particles.

Task-number: QTBUG-30915
Change-Id: I4172aee1d03f00cc63ce7c9d12ace052bc41436d
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Make sure correct files are bundled on Android

When we're bundling Qt inside the apk, we need to know
which extra files to bundle which might be dependencies
of the app. In this case, qml/ which contains the imports
for Qt Quick 2, and the accessible/ plugins.

Change-Id: I0782a6146a4d41d895db20d912eb6877e54ef6c8
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
Tests: add qmlCreateWindow in tst_qqmlcomponent

Task-number: QTBUG-30919
Change-Id: I474a327e057978356a4ae395d8f59a66afaf2f7f
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
mouse synthesis: don't say the left button is pressed during a release

Follows the same reasoning as Iefe63cd753f9f8bb04278fd04a4d728e3deda25e
in qtbase: buttons should have only the buttons which are still pressed.

Change-Id: I894df43254eb1b1ce173fd7acc7190e9765beb48
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Add new Item.Screen properties to screenInfo example

Also removed the rotation animation which doesn't seem useful.
(On most platforms the content will auto-rotate anyway.)

Change-Id: Ia6ca1046fc2162a13be5c26cbf5d2b698ffa2367
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
Doc: Move full apps from "qtquickexamples" to "qtquickdemos"

"qtquickexamples" is for illustrating code usage; "qtquickdemos" is for
showcasing fully-functional apps.

Renamed titles and screenshots to match the other demos.

Also, attempt to make the descriptions sound more interesting.

Change-Id: I2fb43c5d32f24159cd39564576d4ebd76b2cbeaa
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
QmlProfiler: SceneGraph profiling

Change-Id: Ide71b330b13fc3816ed191bd9af84e0fce0d9587
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Doc: Make the titles of example pages consistent

Most of the example titles have either a "Qt Quick Examples -" prefix or
a "Scene Graph -" prefix.

Also fixed a typo ("Scenegraph" -> "Scene Graph")

Change-Id: Ibeb25d88d1888be3fb004a9ad95dc7ccbfeed7e3
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Doc: Fix some broken snippet paths

Change-Id: Ib79bfbea402b86e26a503de47383522317ca906b
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
pixelIndex -> pixel since image is now 32-bit

Change-Id: Iac3c8d60d531a93ce6e862dbdfdf53e49e0d2185
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Fix canvas transformation.

Task-number: QTBUG-28711
Change-Id: Icb44359397dcd5407652ff105154124666d0306d
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Doc: Make Qt Quick demos accessible from Qt documentation

Add screenshots and brief descriptions. Integrate source code into
documentation.

Create new group, "qtquickdemos".

Change-Id: I92715b2cdd861b1ff2bdd28a640e63d2a220499e
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Add a URL interceptor to the QML engine

Allows for custom file handling to a greater extent than the
QNetworkAccessManager.

Change-Id: Ifd3946bf33530c40ca2edeeb9f441f712e4941f6
Reviewed-by: Matthew Vogt <matthew.vogt@qinetic.com.au>
Add qmlClearRegisteredTypes Function

Registered types are stored in a global static variable, not on an
engine instance. For applications managing multiple engines over their
lifetime, there needs to be a way to clear the existing types so they
can register new ones and avoid memory leaks.

Task-Number: QTBUG-28572
Change-Id: Ic70a4dd1e29d99399b21fb42eaf10d4a52bf2adf
Reviewed-by: Christopher Adams <chris.adams@jollamobile.com>
Fix Instantiator response to model change

Objects were not being created correctly when the model changed after
componentComplete. After correcting that the model change can lead to
an intermediate count change when the old model is cleared, so a flag
is set to ignore intermediate changes fom the QQmlDelegateModel when
the model changes.

Task-number: QTBUG-30379
Change-Id: I55519c9ee378a1b0569567137ebd378f32a6c85c
Reviewed-by: Caroline Chao <caroline.chao@digia.com>
Reviewed-by: Christopher Adams <chris.adams@jollamobile.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Move xmlrole.qml to the correct location

The snippets that qqmlxmllistmodel.cpp referred to could not be found.
xmlrole.qml is only referenced from
 src/imports/xmllistmodel/qqmlxmllistmodel.cpp

Change-Id: I95f962927097cd9d3295fbc2b376a9ab27ae6e5c
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Mac: respect the system settings in Full Keyboard Access

Iterate all or not in nextPrevItemInTabFocusChain function.

Change-Id: I14d40dbeda01ca470efe23886789383ff1d30c0f
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Add QQuickWindow::closing signal, and ability to ignore the event

An application can implement onClosing() and set
closeEvent.accepted = false to delay the closing (for example to
prompt the user to save changes).  Depends on change
I9abed47fca02a002b78727f98d678a824854adfc in qtbase.

Task-number: QTBUG-31019
Change-Id: Icfd4a03ecef3621bdbbee2e2c3157b897a9b6524
Reviewed-by: Alan Alpert (Personal) <416365416c@gmail.com>
fix debug/release library name mixup on mac/win

Task-number: QTBUG-30676
Change-Id: I5c5869ee3050e67390607f94054127bd62ab2ea4
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Liang Qi <liang.qi@digia.com>