Replace hard-coded qWait() by QTRY_COMPARE/VERIFY in widget tests.

Task-number: QTBUG-38890
Change-Id: I9a729430fcd30b782c100bb76d5e287a3b4c1238
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Ensure all encrypted bytes are sent when closing QSslSocket.

If you do sock->write(data) followed by sock->close() then the data
written is not transmitted unless you flush when using QSslSocket but
is when using QTcpSocket. This change makes QSslSocket work like
QTcpSocket.

Change-Id: Ia2e1c021dc48ac0d573f78da782ea77641c03bc1
Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
Direct2D QPA: Match raster engine line output

For whatever reason direct2d and the raster engine disagree by one pixel
about the positioning of positively sloping aliased lines. To get the same
output, we shift such lines by one pixel.

Change-Id: I4b20319770c02e3fdd212b3535ccae3c27ca9f2f
Reviewed-by: Risto Avila <risto.avila@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Cocoa: Prevent crash on QWindow delete.

Clear the QCocoaWindow pointer stored on the QNSWindowHelper
when detaching from the platform window. This makes
sure callbacks from cocoa does not try access deleted
Qt window objects.

Task-number: QTBUG-39141
Change-Id: I4672eae92940dcbd59a2848e56f94b50a828bbf6
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Cocoa: Remove the NSWindow -> QCococaWindow hash.

Cast the NSWindow to a QNSWindow instead. Now there
is no way we can fail to maintain the hash properly.

Change-Id: I5fd03b6fad964a61fadb3460b7063fd43ff25c79
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Make QT_MAC_OPENGL_SURFACE_ORDER=-1 work better

Mark the window as not opaque and give it a transparent
background when layering OpenGL below the window.

Change-Id: I2188842249c592f17619f7a2c3ef1fd30958987e
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
WinRT: Fix compile warnings

Change-Id: If223dd73b9558a0f5144be38f19a61316f8c807b
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Android: Report current selection to the input method

Task-number: QTBUG-39196
Change-Id: Ib798f1de83ccbe3830a746b6ddd435a0934c34cd
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
QOpenGLFramebufferObject: correct the internal format when using ANGLE

As ANGLE doesn't support GL_RGBA as the internal format for its
multisampled framebuffer extension, use GL_RGB8_OES to ensure a working
out-of-the-box experience.

Task-number: QTBUG-39283
Change-Id: Icb364225e74e5d3480a8617131a56e9f65f04ba5
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
Fix typos in comments (qfreelist and qmutex)

Change-Id: I782b18b9f82a72a29371564838252e1838faf86c
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
plugin/bearer remove static QDBusConnection::systemBus() initialization

The static initialization of QDBusConnection::systemBus() can occur
before the creation of QCoreApplication. This causes a warning from
QDBusConnection and may cause the application to crash on exit.

Since QDBusConnection::systemBus() is just an accessor, there is no
real advantage to storing a static reference to it.

Task-number: QTBUG-39248
Change-Id: I4401810c7c2ffd21a30f9ffd41b3a46e7e09214c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
UTF-8: always store the SIMD result, even if invalid

For ASCII content, this improves the throughput because the conditional
is no longer on the codepath to storing, so the processor can perform
the store at the same time as it's doing the movemask
operation. However, the gain is mostly theoretical: benchmarking with
mostly ASCII content shows the algorithm running within 0.5% of the
previous result (which is noise).

For non-ASCII content, we're comparing the cost of doing a 16-byte store
(which may be completely overwritten) with the loop copying and shifting
left. Benchmarking shows a slight gain of a few percent.

Change-Id: I28ef0021dffc725a922c539cc5976db367f36e78
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
Initialize the count variable used in SQLNumResultCols to 0

If the call to SQLNumResultCols fails for whatever reason then it will
not be correctly caught since the count might be higher than 0 since it is
uninitalized. This ensures that if it fails then it does not try to act as
if it succeeded.

Task-number: QTBUG-39137
Change-Id: Ifae8c1f7fac8416643f2317747f87295642a7935
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
Improve the implementation of the _NET_WM_SYNC_REQUEST protocol

This change improves the synced resizes of xcb windows and adds support
for synced resizes of glx windows.

The QXcbWindow keeps a better track on whether the window manager
expects a sync and can be in one of three states:
* no sync required
* sync required, but configure notify event not yet received
* sync required and configured

By tracking this in the QXcbWindow itself the backing store can make
use of this information and doesn't need an own heuristic to decide
whether a sync is needed.

Also this allows to add support for synced resizes of windows with an
OpenGLSurface. This is accomplished by checking the sync state after
swapping buffers. As the OpenGL context may be bound to a background
thread the sync is done using a QueuedConnection to ensure that the
sync happens in the thread which created the xcb window.
So far this is only added for GLX.

This significantly improves the resize experience of QQuickWindow and
also the initial mapping with a composited window manager in case the
compositor uses the sync protocol to determine whether the window is
ready to get painted on screen.

Change-Id: Ied0261873043d785dec652d2821fc3638292fa36
Reviewed-by: Uli Schlachter <psychon@znc.in>
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
Doc: be more explicit about need to set expected SSL cert in errors

Note added in QNetworkReply and QSslSocket documentation.

Task-number: QTBUG-16770
Change-Id: I2dd8cfb913ec29a96b5465a905cd213713b8d537
Reviewed-by: Richard J. Moore <rich@kde.org>
Fix fast painting of clipped text on non RGB32 formats

QRasterPaintEngine::alphaPenBlt makes the assumption that a device with
bit depth 32 has optimized alphamapBlit and alphaRGBBlit routines.
This will fail on RGBA8888 format resulting in some text not being
rendered.

Change-Id: Ia7d88bb0e3094894affceda1acc42396b67b3677
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
Remove unused QMapNode{,Base}::minimumNode

These functions are not used anywhere. Since the classes are not
documented, we're free to remove the inline functions.

The implementation of the const function in QMapNode is also bogus: it
discards a const qualifier.

Task-number: QTBUG-39301
Change-Id: Ib8fd10a4da4b58a62cef17017ea6127c4d964325
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Fix QOpenGLGlyphTexture object leak

Call clear() in the destructor of QOpenGLTextureGlyphCache class to
prevent QOpenGLGlyphTexture object leak.

Change-Id: I290b09b0786d30603391e6855a21e9232b112739
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
Revert "Cocoa: Post event to "show()" a modal window"

This reverts commit a9cbddf4739f3cfabd38367b5f872fe2c1a3814c.

The reverted commit is an incorrect bug-fix for a
regression introduced by adding a call to
[NSApp abortModal] in change d9875f7b.

Change-Id: If23463ebdfe2ff64c68739dbece73a13773683c9
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Revert "Cocoa: Don't stop NSApp when showing a modal dialog"

This reverts commit ff3dcc49c4a1912189091e35e87cb61af2f62d47.

The reverted commit is an incorrect bug-fix for a
regression introduced by adding a call to
[NSApp abortModal] in change d9875f7b.

Change-Id: I1307d1790ada740e0552d62267b6009cbccd6c4c
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>