Add Objective-C specific type converters to QByteArray

This patch adds the Objective-C NSData/CDataRef converters to
QByteArray

This will replace the current converters offered in QMacExtras

[ChangeLog][QtCore][Objective-C] Added NSData/CDataRef converters for
QByteArray

Change-Id: I7a0f14bee4271798db345f3c5efd26ac671a3ea4
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Destroy backingstore before window

The window is created before the backingstore, so the destruction should
happen in the reverse order. Also, the backingstore is created based on
a pointer to a QWindow, so the dependency is from backingstore to window.
Thirdly, this fixes a crash when using QQuickWidget/QOpenGLWidget.

Task-number: QTBUG-37045
Change-Id: I6e782c553fddfeef877be30ca2610aff75a425a0
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
Improve code readability

Since we were requesting a multi font engine, the returned font engine
must be a multi one or nothing at all.

Change-Id: I1ee4e1b7c68f54c83a8c7292082d015ebfa0a8cb
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
Revert the QByteArrayList addition to Qt 5.3

This reverts commits f12b0f9a38c792abb13f3e6ecff4542986a6f96b
("QByteArrayList: optimize op+"),
f96f2fe3670bc8a32389795dc21b9839407465a1 ("Enable QByteArrayList
tests"), and 4f23f0530a9c59400a7f3821cd2c9355801ed8cd ("new
QByteArrayList class").

This class is coming back in Qt 5.4.

[ChangeLog][CHANGELOG FIX] Remove the line about QByteArrayList being
added.

Change-Id: I890ab2b34a9b3e575512eb306d0f241143a867cf
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Make Q_NULLPTR be NULL on C++98

Some compilers actually have a C++11-like null pointer constant in C++98
mode:

$ gcc -dM -E -include stddef.h -xc++ /dev/null | grep NULL
#define NULL __null
$ icc -dM -E -include stddef.h -xc++ /dev/null | grep NULL
#define NULL __null
$ clang -dM -E -include stddef.h -xc++ /dev/null | grep NULL
#define NULL __null

Change-Id: Ie0bcaf36fed6ad27e761a0a24332817129128571
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Export rootWindow to the QXcbNativeInterface

This change exports the root window to the native interface as there
is QX11Info::appRootWindow which so far goes over the QDesktopWidget
to get the window id of the root window. Which is a rather hackish way
considering that the root window is known to the QXcbConnection.

But even more it's a very fragile way and can result in crashes on
startup of applications if the application accesses the appRootWindow
too early.

Change-Id: Ibb09a7fa714cb355f579298fc6df33bf80f73f58
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
Make QVector* compile on Win/static

Task-number: QTBUG-37122
Change-Id: Ib2283e8c27da7af2bdc08eee3b7cc542fbe55d71
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
BlackBerry: Repair the file picker

The interface for invoking the file dialog has been changed. Instead of a Json object we now
passing a pps object to the invoke target.

Change-Id: I3c5bc8f0e1af1a84d4afb6bc1923f23db2b43d5e
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
BlackBerry: Choose the appropriate file dialog type

This chooses the appropriate file dialog type based on the nameFilters that were set.

Change-Id: I0c674eacbaebf862ce4359e744271c0d6382c216
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Fix description of how themes are created (code comments)

Change-Id: I3b8ed0af5208687a9ab75e916b477f5e24b4d1e2
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
QNX: Do not create default platform theme

If the theme name is not recognized we should not create a QPlatformTheme, but rather return 0.
If no platform theme can be created on creation of the QGuiApplication,a default QPlatformTheme
will be created automatically.

Change-Id: I685fa352c87d74c225c7f91c10cb84fb5128a3f6
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Make QFontEngineQPA report the TT 'cmap' table support

The QPF2 CMap is identical to the TrueType CMap table format.

Change-Id: I8c34d7c6a5942375538f3b8cb71d5a808b4fb400
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
QFontEngineQPA: Get rid of unused externalCMap

It seems to be a leftover after dropping the QPF1 font engine.

Change-Id: If8d3e1447fab9d042a85195d7bdb4d9811c37c6e
Reviewed-by: Lars Knoll <lars.knoll@digia.com>