Improve Mac OS X touch event enabling.

Previously, the Qt Quick touch interaction items would
enable touch events on window change. On app startup
this would typically happen before the platform window
was created, and the call to registerTouchWindow would
then create the platform window.

registerTouchWindow in QtBase has now been changed
to not create the platform window since this has
unwanted side effects. Calling it at window change
time will then have no effect for the initial window
change.

Enable and disable touch events on hoverEnter/Leave
instead. This is similar to what QtWidgets does and
has an additional benefit: touch events can now be
enabled when the mouse cursor is hovering over a touch
item, reducing the chances of it interfering with
scroll events for other items.

Task-number: QTBUG-32988
Change-Id: Ic48dbec910f52299d5068f5ca7508be73cdc6f36
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
QQmlInstructionData: fix warning 'code' {is,might be} used uninit'ed

This is a compile-error for -release -developer-build builds.

Change-Id: I7ea5363260ce35a013fbf6d1c538c763023a8dc0
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Work around missing BGRA texture format on Samsung Galaxy Tab 3

The GL driver on the Galaxy Tab 3 reports support for the BGRA8888
texture format, but does not actually support it. For this particular
device we disable support for that format.

Task-number: QTBUG-34984
Change-Id: Ie26ef0e815c1622b3425c37237a3fc320543b92c
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
Fix uninitialized variable in debug builds

Initialize size to zero in both constructors. This should fix UMRs.

Change-Id: I6888f667b3dc6b2e72e58b54288c3c88df3ced71
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
QQmlEngine - fix example in documentation

example_qjsvalue_singletontype_provider example code snippet
returns QJSValue instead of QJSValue*.

Change-Id: If4d5592fcee25ada9870602c8f92197980ef9b77
Reviewed-by: Nico Vertriest <nico.vertriest@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
Remove redundant button clicked handler in QQuickMessageBox

Change c286b4fccb2d83fcc01b21913b95c5e4f21f2982 added the
QQuickAbstractMessageDialog::click() handler, which made the
QQuickMessageDialog::clicked() handler redundant.

Change-Id: Ifd770a3c67b35fd9a4929fc55b9e5298c36fb960
Task-number: QTBUG-35933
Reviewed-by: Liang Qi <liang.qi@digia.com>
Add support for deprecated RegExp (constructor) properties

These were apparently part of ancient EcmaScript specs, aren't even listed
anymore in any recent spec (not even as deprecated), but apparently they
are part of what the web supports as well as previous versions of Qml. So
this patch implements them.

Task-number: QTBUG-36244

Change-Id: I1b9ea7ea09fceb6a486f615837a71e41aae12de4
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
qmlplugindump: New component properties isCreatable and isSingleton

Qmlplugindump tool does not generate information about singleton status
and creatability from QML for a component. This patch adds two new boolean
properties that contain this information. It is used by Momentics IDE for
providing better code validation and could be used by QtCreator in future
in similar way.

Task-number: QTBUG-36139
Change-Id: If85374a1854aaa0727670b27df735d481cab5337
Signed-off-by: Daniel Pesch <dpesch@blackberry.com>
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
qmplugindump is not able to dump all registered components

This patch implements a new function QQmlMetaType::qmlAllTypes() used
by qmlplugindump that returns list of all registered components. Previous
implementation used QQmlMetaType::qmlATypes() call that returned only
components with defined QML name.

Task-number: QTBUG-36199
Change-Id: I85acba61cfa511973a004934cf0650f38cc46ed9
Signed-off-by: Daniel Pesch <dpesch@blackberry.com>
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
Make compile on DragonFly BSD.

[ChangeLog][Platform Specific Changes][BSD] Fixed compile errors on
DragonFly BSD and potentially FreeBSD.

Task-number: QTBUG-35867
Change-Id: Iea90b93672c34f8a4b56e9afc4dbfb82cc993548
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Retrieve detailed location information when profiling signal handlers

Use the Functions associated with signal handlers to find out
which exact code is being executed.

Task-number: QTCREATORBUG-11100
Change-Id: Idfae9d188b17977b55f551e6fe766042fe24e786
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Parse source location for signal handling functions

Previously the source location of signal handlers was always line 0 and
column 0. This poses problems when trying to extract meaningful
profiling information. The change assigns the source location of the
statement declaring the function as the function's source location.

Task-number: QTCREATORBUG-11100
Change-Id: I4bb8682b35147a7cfe4ecec342d4a00623bb1e0d
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Ensure Flickable bounds detection is executed at the end of animation.

In pixelAligned mode the content position when animating is rounded to
a whole pixel, so the contentItem may reach the bound before the
animation completes.

Ensure bounds detection is run on animation completion.

Task-number: QTBUG-36300
Change-Id: I083ff6a03a5d1b9ca9e2201487b602f1588002be
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Joona Petrell <joona.petrell@jollamobile.com>
Make it possible to render without a depth buffer.

Some GL implementations (especially on embedded) will give us an
OpenGL context without a depth buffer. In low memory scenarios, it
might also be feasible to request a non-depth buffer context to save
the depth buffer memory. The renderer deals with this by treating all
nodes as translucent, by not adjusting the shaders and by not creating
the extra z-order vertex attribute for merged nodes.

Change-Id: I8edc92d530daa3e2628df2ba52901b47d87eaf26
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Merge remote-tracking branch 'origin/release' into stable

Change-Id: I2d9356cfb33f36f0b9167307b0c4fc6b71bb347a
Merge "Merge remote-tracking branch 'origin/release' into stable" into refs/staging/stable
Revert QSGRenderNode to the old "in context" behavior

There is already a lot of code out there that makes use
of the rendernode hook and some of it is not capable
of dealing with the render target being something other
than 0. (Mozilla in this case).

By forcing everything into the "alpha" code path, the
hit on the renderer should be fairly minimal as long as
render nodes are kept to a minimum, so reverting back
to the ugly old behavior is acceptable.

The API is still internal and highly discouraged.

Change-Id: Ie35484f52da6b0420257c95710fdda07a2be2c23
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Enforce texture cleanup to happen at the end of the sync phase.

This was ok for the threaded renderer, but for the single-threaded
renderers where the event loop was spinning we could run the risk
of scheduling a texture for deleteLater() and then cleaning it
up before we got around to the sync phase.

Task-number: QTBUG-35670
Change-Id: I92074294b427fd8ab2a1823ba79c7ac3b59094ec
Reviewed-by: Michael Brasser <michael.brasser@live.com>
Only look at alpha to decide if rectangle has fill or not.

Task-number: QTBUG-35606
Change-Id: Id403047e19e75d91ec3b3f8367166d8ec96ecaf8
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
QQuickText: fix layout mirroring

Task-number: QTBUG-35095
Change-Id: I8550821e01ecc931788c1ed73366ba1ceed7a817
Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>