xcb: Fix transparent tray backgrounds with 24bpp tray visuals

Commit 0eefa785a0d8 ported Qt4's method of indirectly drawing the tray
icon's background to Qt5. This commit makes it work a bit better.

When drawing the tray's background, we use a ClearArea request to make
the X11 server fill the tray icon with its background. Then we grab that
background from the server and paint the icon on top of it. So this is
pretty much pseudo-transparency at work. One small ingredient that was
missing before is the BackgroundPixmap of the tray icon. If this
attribute is set to ParentRelative, then our tray icon inherits the
background of its parent window. That way the ClearArea will actually
produce the expected background.

Task-number: QTBUG-35832
Change-Id: I63fc4609064d8f858ca9e5cc290409a298b918b7
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Fix fullscreen in the X11 hooks of eglfs

It did not work since the request was made after mapping.

Add also basic screen size detection and make fullscreen the default. No more
windowed nonsense which is not very useful anyhow due to the trouble with
input (multiple mouse cursors etc.).

Instead, launch always in fullscreen on X. This gives a unified experience when
running with -platform eglfs, regardless of using KMS on a console or the X11
hooks under X or just fbdev. It also eliminates the annoyance of not having
vsync for non-fullscreen X windows on boards like the Jetson TK1 (where fbdev is
not an option).

[ChangeLog][QtGui] eglfs is now using fullscreen mode also when running on X11.

Change-Id: I3b05728c2c37d6e0abd53cf2843670a1262243bd
Reviewed-by: Louai Al-Khanji <louai.al-khanji@theqtcompany.com>
ssl: merge and tighten sslErrors and peerVerifyError tests

The sslErrors and peerVerifyError test the same situation: connect to a
server which is using the fluke certificate, using the incorrect host name.
They connect respectively to qt-test-server:993 and the.server.ip.address:443.

The sslErrors is prone to backend-dependent failures concerning the order
in which SSL errors are received, just like the peerVerifyError test was
until recently.

This change merges these two tests into one, which is run against the same
two servers as previously. It also adds a check to ensure that sslErrors
and peerVerifyError emit the same SSL errors (regardless of order).

This also fixes the included headers for non-OpenSSL backends.

Change-Id: Ibd5f60d24f1682989378e87729389e4b8f9efac5
Reviewed-by: Richard J. Moore <rich@kde.org>
Improve TouchPoint debug output

Printing a QWindowSystemInterface::TouchPoint can be misleading if
it only includes the normalized position. Many backends do not provide
such information so it is often 0, 0. Print also the "area" which is
always set, the center of this rect is the actual touch position in screen
coordinates.

Change-Id: I2f3efabf6ced6fae9937518cc39d898e66b7894e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Fixed a bug where spans did not always work in layouts.

The problem was that the span we stored in the multiCellMap was the
"effective" span (i.e.  the given span subtracted with the number of
ignored rows it would span). Later we used that span to distribute its
size across all its cells.  However, since the span now could be smaller
that the given span, we could sometimes fail to distribute to the last
span(s).

[ChangeLog][QtWidgets][layouts] Fixed a bug where spans sometimes didn't
distribute themselves to the last cells they covered.

Change-Id: I31db3d850484dc8b70d62c5f02f680740578c661
Task-number: QTBUG-43099
Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>