Android: Overwrite plugin cache when APK is updated

To allow updating APKs with new versions of Qt, we need
to delete the old cache when the APK is updated. This patch
does two things:

1. Move the plugins (and imports/qml) into a directory called
qt-reserved-files/ to better separate the cache from the rest
of the application. The first time the files are put here,
we will delete the old cache in <datadir>/plugins,
<datadir>/imports and <datadir>/qml if they exist to avoid
leaving old files around forever.

2. Add versioning to the cache and flush it every time the
APK is reinstalled. Potentially, the libraries in the APK
can change for every reinstall, so this is the safest
approach.

Task-number: QTBUG-35129
[ChangeLog][Android][QTBUG-35129] Update deployed plugins
and imports when APK is updated on the device.

Change-Id: Ie38b639db2cfba8a521acc875c4afd5e07df3efd
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
Android: let fullscreen use entire screen

API level 19 (Android 4.4) introduces "immersive" mode which lets
the app use the entire screen.

Change-Id: I12f6aebaf1303cdc5b6bfb51944e895351fa2406
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Add missed header to qfileselector.cpp.

Change-Id: I2fd6fb2ae1663730a008221f6beeef19a5307246
Reviewed-by: David Faure <david.faure@kdab.com>
Cocoa: fix single punctuation input via CJK input method

2d05d3bd2815c220474b3c07bf3f2ef7417d3070 was not correct.

On OS X, when user uses CJK input method, only types single punctuation,
it was converted to CJK ones, and not showed in composing text.

Task-number: QTBUG-35700
Change-Id: I919edb3f5165bf943c0d90d06a788a2f335bb1ba
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Accessibility Linux: Fix atspi getActions to return action name

[ChangeLog][Accessibility] On Linux action names were returned as empty
strings in AT-SPI getActions, now returns the proper names.

Change-Id: I75a469a0b8a5789cd54ce1b489ed5012654bb265
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
REG: Fix support for strings spanning multiple font engines

E.g. in the case where the first char in a font got a font engine
index != 0, and the second character got font engine index == 0,
we would not count the second character as a separate glyph run.
The result would be that its glyph indexes would refer to font #0,
but the font used to render them would be the same as for the first
character, i.e. random.

Task-number: QTBUG-35740
[ChangeLog][Text][QTBUG-35740] Fixed regression when shaping some
strings containing characters from multiple fonts.

Change-Id: I668804045c8b276787c7b256bc87916c467f3f59
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Make texture glyph cache more robust against missing glyphs

This fixes failing assertions in the CI system. All the callers of
lockedAlphaMapForGlyph always check the return value for being null as well as
the image itself, so we need to do the same here as well before calling
unlockAlphaMapForGlyph.

This is proposed to stable because commit
f9399d69add411adf757e3390488ff57655833b7 also landed in stable.

Change-Id: I0a4f4fbb1727e5b4ad497b08177d14c81abd2dd0
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
Do not use SO_SNDBUF on Vista or later

Task-number: QTBUG-30478
Change-Id: I6c41bc8bea21aa00277d8bfce070ea993e2a0f28
Reviewed-by: Richard J. Moore <rich@kde.org>
Avoid duplicate emulated mouse events with XInput2

When using a touch screen on a Linux machine, we receive both touch-events
and emulated mouse events from XInput, on top of that we synthesize mouse-
events ourselves for the touch events.

This patch grabs the touch device for touch events whenever it processes
a touch-begin thereby avoiding XInput from synthesizing mouse events.

Task-number: QTBUG-35157
Change-Id: I5849d5841be236d6719cd080af2e9e39eb9cdd84
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Remove disabling of warning 4660 on MSVC

This warning no longer exists since at least MSVC.NET 2003. It's
reported to have existed on MSVC 6 and older only.

Task-number: QTBUG-35815
Change-Id: Ifb35d027edc3c1cbadac9a0d0a9c26524c52c87f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>