Make networkmanager bearer backend work better

This fixes QNetworkConfigurations when user:
- configures new AP
- deletes connection configuration
- switches wifi AP

Change-Id: I38c543c6de7b61f49d7ac96fa05f7a6fc4fba70f
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
Android: Fix android bearer implementation.

1. If the interface used by a configuration changes, remove the whole
configuration and replace it with a new one (instead of updating it).
While this isn't intuitive, this is the exact behavior we used to have
on android when using the generic plugin...

2. Setting the session state to roaming is not correct in this context
as it's a transitional state where we should end up in connected state
(forced roaming). Before this patch we would get stuck in the roaming
state for mobile networks.

4. Use QNetworkInterface::name() instead of
QNetworkInterface::humanReadableName(), as this is the expected
value when querying the interface used.

3. Don't re-iterate through the interface list for each configuration.

Task-number: QTBUG-41832
Change-Id: I315f725434bc6a1a8dca13dffd41f606c87bd06d
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
Allow hostname from lock files to be empty

The common format for lock files is to only contain the PID.
(See http://www.pathname.com/fhs/2.2/fhs-5.9.html)
Qt includes some extra information but we can not expect this
information to be present. Otherwise lock files created by other
(non-Qt) processes are not handled correctly.

Change-Id: Ib9be3c9f07eb8e87193f56d96f5559bbdd5180b8
Reviewed-by: David Faure <david.faure@kdab.com>
Remove trailing '\n' in qFormatLogMessage output

Do not automatically add a \n to all messages formatted by
qFormatLogMessage. Some backends require a final newline,
some don't, so it's best to only append it where it's actually needed.

The returned string will be null if the pattern is empty. This allows
to differentiate between the case that the pattern just didn't apply
(empty line is printed), and the case that qSetMessagePattern(QString())
have been called (nothing is printed).

Change-Id: I17fde997a4074f58f82de6dea129948155c322d6
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
QStorageInfo: include qt_windows.h instead of Windows.h

This fixes a compilation issue with X-MinGW builds and
is more appropriate here.

Change-Id: Id97e387c6e22a2c09d2f4dda35ce1bed2831fffe
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
Doc: Include QtWidgets instead of QtGui

Change-Id: Ib7f3183efd446abb7cc191f33128b4e230ee372c
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
fix crash when dropping a file into an empty QTextEdit

Since commit be0bfe09ee4b99e9ab45c6898949b5d144e77a29 we return -1 in
QTextEngine::findItem if the item cannot be found.
Calling code must be prepared for this case.
Otherwise we run into an out-of-bounds vector access later on.

Task-number: QTBUG-42103
Change-Id: Ie338cd1fc3cf0ce1e8edfa59dead635669020a33
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
QSettings: Fix handling of long long ints with CFPreferences back-end.

The CFNumberGetValue() function does not work as advertised: For some
(but not all) CFNumbers containing a long long value outside the range
of int, it returns true when asked to convert to an int, so the wrong
value is extracted from the CFNumber.
As a workaround, use CFNumberGetType() to find out whether the value
is actually an int.

Task-number: QTBUG-42017
Change-Id: Ib95395491d0db61d2bdc0f058a6a2f6be05da432
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
Cocoa: Expose on window size change only

Don't send expose events on window move.

Task-number: QTBUG-42126
Change-Id: I6e758f9037a2a785c651b63d25b53e7a009b1fdf
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Send screen change events before expose events.

This fixes the "expose event received for window
with invalid geometry" warning from Qt Quick. The
window's current screen is now up to date when
processing the expose event.

Change-Id: Ia5c83e34154182699ec587835f9063809d819d7d
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Rotate images according to Exif orientation

Task-number: QTBUG-37946
Change-Id: I181f88acdff0ef76aa02e968dc6afca1ed495f38
Reviewed-by: aavit <eirik.aavitsland@digia.com>
Don't link to Xlib's Xrender library

We don't use this library in XCB plugin.

Change-Id: Ifcc2f404b3cbf5601eb094eaac923d2f9e6e981b
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
QSwipeGestureRecognizer: Prevent cancel in startup-phase.

Replace the boolean 'started' member by an enumeration which indicates
the startup phase. While in that phase, do not cancel when pressed
points are detected for fewer than 3 touch points.

Task-number: QTBUG-15768
Change-Id: Ic57b19e3002392fb632f551f615d80ada9831d34
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Doc: Corrected autolink errors qtbase

Task-number: QTBUG-40362
Change-Id: I054a4713bdd83280be51697689e0c3c3409b9601
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
Doc: Corrected identifiers for  QByteArray::toBase64 in snippet

Task-number: QTBUG-40944
Change-Id: I31fc23739b3e145b3668b10fdf4465c19d2fdb01
Reviewed-by: Martin Smith <martin.smith@digia.com>
Doc: link to MIBenum

Task-number: QTBUG- 40362
Change-Id: I0261117d8aef8383ef77887a201d61ed0bd0ba52
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
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>