Fix crash in QQmlDebugService::objectForLocationInfo()

Fixed crash in QQmlDebugService::objectForLocationInfo() where it
was using QObject pointers in the object reference id hash
table that had been deleted.  Now objectForLocationInfo() checks if
the QObject has been deleted and removes it from the object
reference hash before trying to look up the filename, line number,
and column number.

Change-Id: Iba7be7c490e97a2e7685685b0c6e501cfe1e833e
Reviewed-by: Alan Alpert (Personal) <416365416c@gmail.com>
Reviewed-by: Aurindam Jana <aurindam.jana@digia.com>
Improve memory usage of QQuickTextNode.

The typical number of BinaryTreeNodes needed for a text line should be
much lower than 256.

Task-number: QTBUG-32770
Change-Id: I85aa161eb7cb6e55657213304b7577a0a33f1b67
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Doc: createObject: adapted description of example

Plus language/style edits

Restored brief statement QQmlComponent.cpp

Task-number: QTBUG-32222

Change-Id: I07da54bad3e13f163475ed2a0760e66d50795f6f
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Remove C-style casts from public headers.

Task-number: QTBUG-32735

Change-Id: I14c313d17b80dce1826290ddd634f449b315190e
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Stop the update timer when no windows are visible

Change-Id: Ib9758a99891829d9bec81996687373d08ecfa055
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Remove unused local variables

Change-Id: I910c47cd404c0c5c1c324e956927966e834b488e
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Fix needless conversion from char * to QString

Converting the strings to UTF-16 unconditionally whenever the library is
loaded is overkill. Anyhow, the literals are only passed to methods also
accepting a QLatin1String, so we don't have to convert at all.

Change-Id: I84e813ac989344bc2e359f340696423766392c93
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
test: Adapt to Qt.platform.os rename ("mac" -> "osx")

Marking this test as QSKIP and also updating the JIRA task

Task-number: QTBUG-32650
Change-Id: I9e98024bf50c43f96269c39d779803ae9c46168d
Reviewed-by: Simo Fält <simo.falt@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Merge remote-tracking branch 'origin/stable' into dev

Change-Id: Ibb584a2d7975996cd26514b82d1da2d447fcbebf
Improve reliability of tst_qqmlcomponent::onDestructionLookup auto test on Windows

The test relies on exact garbage collection, which we can't offer anymore.
But we can use the same tricks as in qqmlecmascript to improve the changes
of a successful collect significantly.

Change-Id: I7b3d7eca7a9bdb551a01a5a3da80549196c45f23
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
Add reference counting to the VM functions

This reduces memory pressure, keep engine->functions small and thus makes back
trace lookup faster. It became visible for example in the QtQuickControls
auto-tests that use plenty of loaders and we ended up with 30k+ functions.

Change-Id: Iaa5981f44e1e49ad9417a50c1e6a74946090dd28
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Export V4::PersistentValuePrivate

Indirectly required by QtLocation and its use of QJSValuePrivate

Change-Id: Iea5bca47af8195e344d17fe2b82118141656d997
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev