Fix shortcut handling with non-latin layouts

Shortcut handling with non-latin keyboard layouts
were broken for checks like:

QKeyEvent key = ...;
key == QKeySequence::SelectAll

In Qt4 this was handled transparently when getting
keysym from XLookupString. When ctrl modifier was set,
XLookupString performed "keysym transformation" to obtain
a latin keysym. Still this did not solve the non-latin
shortcut issues for all cases due to some of Xlib
assumptions which could not be controled by user.

This patch implements XLookupString-like behavior
in lookupLatinKeysym(). It is not a 1-to-1 copy of how
XLookupString perfoms latin keysym lookup, but it
serves our needs just fine. lookupLatinKeysym() also
handles the cases that did not work in Qt4 with
XLookupString, thanks to libxkbcommon keymap query API.

And lookupLatinKeysym() replaces the fragile implementation
of "fallback latin key" code path in possibleKeys().

Done-with: Ruslan Nigmatullin
Task-number: QTBUG-33182
Task-number: QTBUG-32274
Change-Id: I56a5b624487ca6c2c3768220301a37dac39b439a
Reviewed-by: Ruslan Nigmatullin <euroelessar@yandex.ru>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
QGtkStyle: fix segfault after re-creating QApp

QGtkStylePrivate::setupGtkWidget() cannot use a local static variable
for the container, but it must insert it to the GTK widget map together
with all other GTK widgets. The container is destructed as a GtkWindow
child in the Qt post routine QGtkStylePrivate::destroyWidgetMap().

Task-number: QTBUG-41145
Change-Id: If1fda372ed1227edc779fa4951cbd6fbf6038499
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Dmitry Shachnev <mitya57@gmail.com>
Reviewed-by: Jens Bache-Wiig <jensbw@gmail.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
ANGLE: Delete the ShaderImpl on gl::Shader object destruction.

Cherry-picked from https://chromium-review.googlesource.com/224106

Task-number: QTBUG-41588
Change-Id: I27d75da76cec0b3341f549a3e6891c1c6d321358
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
QMacStyle: Refactor painter offset into drawNSViewInRect()

Change-Id: I05067ee400f0b776b0f0418ee1c5fbd45126c29e
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
QMacStyle: Remove code depending depending on OS X 10.6 and older

Snow Leopard is unsupported from 5.4.0.

Change-Id: I0c49a8353d5dc38169ab9679a986c35ab2df8d2f
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Cocoa QPA Plugin: Remove code depending depending on OS X 10.6 and older

Snow Leopard is unsupported from 5.4.0.

Change-Id: I5c269cbdc93000a4657b63559cc3c526e298e3db
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
Fix includes in mousebuttons example

Remove QtWidgets from buttontester.h and QtGui from main.cpp.

Change-Id: Ie5925a33c58c1abd9747ab0ab7040e7d1b0769a9
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
iOS: update qtmn doc to use the actual function name

Change-Id: I62b656a317298ec40117017d74fca1be262a66b7
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Do not add invalid configurations to bearermonitor

If the list of configurations takes time in the backend,
the defaultConfiguration will be invalid at this time, but will
be updated by the backend.

Change-Id: I2886a8f6c569c993814172ccaa46e4bb5ba5e0d6
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>