Fix QNX 6.6 build

The stdlib of the upcoming QNX 6.6 has this abs overload,
so check for the version when redefining it.

Change-Id: Ib5650226c65417b42d8d7a79fac7ca53d3f315f1
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Bernd Weimer <bweimer@blackberry.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Revert "Re-enable mac tests"

This reverts commit cc811f77fc4f48fb696784f0a51042bb736d7071.

GUI tests were temporarily disabled on Mac in 8ed38c7 and cc811f7 meant
to re-enable them, but in fact removed the GUI tests on every platform.
There is still plenty of instability in the tests, so we will first
restore GUI tests on non-Mac platforms, and then we'll try to properly
re-enable them on Mac, step by step.

Change-Id: Ic8ac32386cc9e7c5ea3172751d74138e30fa0fdf
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Fix tst_qquickflickable::stopAtBounds()

Change-Id: I7a6cc8ddb4cb4559498b74839bde57d12a3d68fd
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Mark tst_qquickanimations as insignificant on MinGW

tst_qquickanimations::pathInterpolatorBackwardJump() keeps constantly
failing in the CI on Windows MinGW builds.

Task-number: QTBUG-29062
Change-Id: I69511f8a45e98061ceb9a0f6782cc57940af3ce4
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Positioners: fix layout mirroring

Listen to positioner geometry changes when the _effective_ layout
direction is RTL.

Task-number: QTBUG-35095
Change-Id: If06955c6bb04e5bed2126b05489229278c192173
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Flickable: fix crash in delayed press handling

Task-number: QTBUG-31328
Change-Id: Ic87e9b4db09242b49f104a8f38e4e420c62db75c
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Martin Jones <martin.jones@jollamobile.com>
Revert "Disable gui tests on Mac for now"

This reverts commit 8ed38c70fd29680f7981d9d23581d46cf32139d0.

Task-number: QTBUG-35344

Conflicts:
	tests/auto/auto.pro
	tests/auto/qml/debugger/debugger.pro

Change-Id: I57bec5d7ede879e24ba2b0618333b4e4110c41df
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Liang Qi <liang.qi@digia.com>
Revert "Disable quick autotests on mac until qtbase is fixed"

This reverts commit 08582091059d8ba805487eae5277bc9abdc3d4de.

Task-number: QTBUG-35344

Conflicts:
	tests/auto/auto.pro

Change-Id: I9babc27c4c37900dd6603bd603e6bcf9e7f3d61f
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Liang Qi <liang.qi@digia.com>
Merge remote-tracking branch 'origin/stable' into dev

Change-Id: If45606c96ef130588004598c560aa790373f0a78
V4: Array.push() on QStringList should invoke putIndexed()

Wrapped sequence types should cause putIndexed() method to be called
when Array.push() is used.
Fix suggested by Simon Hausmann.

[ChangeLog][QtQml] Fix JavaScript Array.push() not working on
QStringList properties.

Task-number: QTBUG-36491
Change-Id: Id04409dd7466a943d8ea8d57cd0514e8de732480
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Fix leak-on-exit of QSGRenderLoop::s_instance

s_instance is created with new and never deleted which causes several
destructors to never be called.

Task-number: QTBUG-35731
Change-Id: Icccb19186958f8bb74c5fd2b4b41165255debc46
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
Docs: add a working example to Text::fontSizeMode docs

It's easy to miss the maximum bound specified by either
the font.pointSize or font.pixelSize properties.

Task-number: QTBUG-30005
Change-Id: If1dadebd6673f0e945a1ca95b64521f27d30f5a9
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
V4: remove unused field.

Change-Id: Id1edc073db349cfc7e4b5a9dca045760016ebacf
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
Remove static initialization of QObjects

Statically initializing QObjects will cause e.g. the main
thread pointer in QCoreApplication to be set when the library
is loading. On Android, this is never the real main thread.
The effect was a warning about QApplication not being initialized
on main thread, and a race condition which sometimes caused
apps to hang on startup.

[ChangeLog][Android] Fixed possible hang on startup for Qt Quick
applications.

Task-number: QTBUG-36426
Change-Id: I7bd8a8f35ef1a2548949978563e3157f8dc854c7
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Fix crash in header when regenerating view.

Unregister for geometry changes before reparenting, as
reparenting may trigger those changes.

Task-number: QTBUG-36481
Change-Id: Ia94f1f88880b232dd583b7e63e5da73fb338f7c6
Reviewed-by: Martin Jones <martin.jones@jollamobile.com>
V4 JIT: save/restore ebx (GOT ptr) on linux/x86.

On linux/x86, ebx is used to store the global offset table. When using
this register for temporary values, we have to save it at the entry of
a generated function, and restore it before doing calls and at the end.

Task-number: QTBUG-36289
Change-Id: I30194be3ce44f58b793ee52f6201906bcb68d46a
Reviewed-by: Albert Astals Cid <albert.astals@canonical.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
V4: fix range sorting

When a life-time interval is split from another interval, it has to come
before an interval that starts at the same position but is not split.

This also means that a means that the all ranges in a split interval
are uses, which is important for allocation: all incoming parameters for
an operation need to be allocated before allocating a register for the
result as the result will only start its life "at the end" of the
operation.

This patch fixes a problem register allocation is done in a function
where register pressure is high (e.g. on platforms that have few
registers to start with). Specifically, crypto.js on x86 triggered it.

Change-Id: Iee3e5d82a887b8de573dfc23513844143d0c8073
Reviewed-by: Albert Astals Cid <albert.astals@canonical.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
V4 regalloc: fix interval splitting when register pressure is high.

When a register is needed for an interval, but none is available, one
of the used registers will be chosen and spilled to the stack (meaning
it will be split) before the current position. However, if a register
is used at the current position for an incoming parameter, its interval
has to be split after the current position. This patch adds/fixes the
latter case.

This fixes crypto.js on x86. The specific problem there was that the
result of an operation needed a register, and chose the one from one
of the incoming parameters (which then should get spilled/split).
However, this interval was already split, and started exactly at that
the current position. So splitting before the current position did
nothing, resulting in it staying alive and using the same register as
the result. So any subsequent use of would have the invalid value.

Task-number: QTBUG-36430
Change-Id: I228fc210b009aa0b16b08a374fc955fabfbb6d12
Reviewed-by: Albert Astals Cid <albert.astals@canonical.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Revert "Skip unstable test"

This reverts commit 8e0c5b59f57b51a0dc80d3d8274202776c6e03df.

This test doesn't fail any more.

Task-number: QTBUG-23976
Change-Id: I77704e7811c4c335cb5836ba7645a8804c13e12d
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Fix backend API, broken since 5.2.0

Without this change, it is not possible to implement a custom context
without also implementing a renderloop.

Change-Id: Iac2aa732251cdf7221b28f665394cdd336a3d846
Reviewed-by: Michael Brasser <michael.brasser@live.com>