REG: Android: Fix freeze when accessing assets

Change 287fa94fe2f93e2857a4c15f69435c4ea14de82e created a freeze
in the assets file engine because it will try locking the mutex
twice. Since prepopulateCache() is only called from create(),
we don't need to lock it recursively.

Task-number: QTBUG-37661
Change-Id: I00d0fed132a86c1be5603484eb6ee05454da9ef0
Reviewed-by: BogDan Vatra <bogdan@kde.org>
iOS: implement 'close keyboard' gesture

Before this patch there were no way for the user to hide
the keyboard on iPhone for multi-line edit fields unless
the app had a separate button added for it. And even that
would be problematic since we scroll the screen (and
perhaps the button) to track the cursor.

This patch implements a gesture that resembles the 'hide
keyboard' gesture that UIScrollView implements on iOS 7.

Note that if you start the gesture inside the edit field,
you will start selecting text as well. This will also cause
the cursor to move and the screen to scroll. After some
testing and failing, it seems like we need to live with such
artifacts until we do get around to do the only sensible thing;
fix up how we do text selection on touch platforms. Working
around it becomes just to messy.

Change-Id: I1c0d9c88ff1f5430587a49591f165b9708e5dc60
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
iOS: send a Qt::Key_Return when the user hits done/enter

We need to send key events when the user hits enter, otherwise
there is no way to know when the user has 'confirmed' the
text he wrote. This is on par with how it's done for the
Android port.

Change-Id: I585d4198de24b0d251e5e0dd2956ce81b6483f82
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Setting QT_NO_DEBUG should not remove symbols

Removing symbols when defining QT_NO_DEBUG is a bad idea.
In this case it means that you can't compile corelib as a
release build and widgets as debug without getting an
undefined symbol.

Instead leave the method in the release build, but simply don't
call it.

Change-Id: I50426aefd62e82bccd933323aa0f67c6e5294961
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Cleanup and refactor QFontconfigDatabase::fontEngine

Refactors the logic to parse the font configuration from fontconfig, so
that it maybe reused for custom fonts in a later patch.

Also fixes a minor mistake that meant we defaulted to medium hinting,
where we tried to default full hinting.

Change-Id: I1e135b8b1e3faeb213aa370ea59ebde3a671273d
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
QNX: Fix QGraphicsItem autotest

Change-Id: I85b0938e6ebeb9f24e24b51a594c01b74167a177
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
Reviewed-by: Bernd Weimer <bweimer@blackberry.com>
QNX: Fix crash in bb_select

Change-Id: Ic1a414c9d89b790ed9fb9f5c989b6018de78b465
Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
Reviewed-by: Bernd Weimer <bweimer@blackberry.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Mac theming: Set background brush for menu palette

We also remove overriding the background when polishing the palette
in QMacStyle. This is a leftover from pre-10.5 styling.

Change-Id: Icaa6d9c864ab01783d83cc02192981136c417d24
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
Mac theming: Remove obsolete private color conversion functions

Change-Id: I165eea19c8e50f981a9fa48c14f0d63c40951747
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
QPA: Fix QPlatformTheme::Palette enum value spelling

We keep the old value for source compatibility, but it should
probably be removed at some point as the QPA API is semi-public
only.

Change-Id: I06e4c9ca1d8bb878411ad79ef409d60ce2d29f4a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Fix qdoc warnings in QMargins, QRect.

Change-Id: Iae2486e1f335679c288e05f45e2d283a7cf971c0
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Remove manual test qpainfo, which is superseded by the qtdiag tool.

Change-Id: Ibd6e8fc05495f6eb2adca22072df19530766858a
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
REG: Fix compilation with old AndroidManifest.xml

For apps created with Qt 5.2.1, the AndroidManifest.xml will
contain a reference to android.app.splash_screen, which was
removed from the application template when the splash screen
functionality was fixed by 4d08d80be60af14c5daed7c6f8d37538aea6c429.

To make sure existing apps still compile, we put back a dummy
splash.xml so that the reference in existing manifests still
work. If this splash screen was actually used for something,
it will no longer show up, so we also need to document that people
should update their AndroidManifest.xml to the new system, but
we can't inform people via mysterious compilation failures :)

Task-number: QTBUG-37493
Change-Id: I6289f9b5e2c315fa6db502cbde27bd18e15f1f8d
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Initialize the picpainter State in the QAlphaPaintEngine.

Patch by John Layt.

Analog to how the print preview problems on windows were fixed, this
is needed to correctly print e.g. web view contents.

Task-number: QTBUG-36308
Task-number: QTBUG-37240
Change-Id: If4ecffde969ed221bbbeea80232f29f095fd71cd
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: John Layt <jlayt@kde.org>
QGuiApplication: send TouchCancel when touch is interrupted by popup

QQuickWindow depends on maintaining state of known touch points
between events, so it needs to be notified when it will not be
receiving the corresponding release event for one or more.
This temporary fix needs to be reverted when we have a proper
event forwarding solution.

Task-number: QTBUG-37371

Change-Id: I5dc40af6feac425be8103c1586f8ebe3a6aad20d
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>