Fix the name of the GPLv3 license file

Qt 4 used to have it called LICENSE.GPL3 since we used to have GPLv2 as
an option before Qt 4.5 (which is when we added the LGPL v2.1). Looks
like no one realized that the configure script looks for that file when
LICENSE.GPL was added to the modularized repositories...

Task-number: QTBUG-37175
Change-Id: Iffb35adf128c3e49a7a0c12dbccd5ebe9bccf3f2
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Always initialize integer types in D-Bus demarshalling

If you tried to demarshall in a write-only QDBusArgument, the class
would print a warning, but will continue running nonetheless. So instead
just initialize everything, despite the warning.

qdbusargument.cpp:1138:30: error: ‘d’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
qdbusargument.cpp:1165:33: error: ‘s’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
qdbusargument.cpp:1301:15: error: ‘y’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
etc.

Change-Id: I6d713b4a7b7639e31f3b39bb488ad3ed3ab3fa4a
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Complete QJsonValue::fromVariant()

- QVariant can store (U)Int, (U)LongLong, Float and Double numbers.
  Previously, QJsonValue::fromVariant() converted Floats into Strings
  while converting the others to Doubles.
- Add unit tests for QJsonValue::fromVariant()

[ChangeLog][QtCore][JSON] QJsonValue::fromVariant() will now convert
single-precision Floats into Doubles instead of Strings

Change-Id: I457adbe29c37ada611d1c6d711c42866d63d4024
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
CustomSortFilterModel example: fix build with QT_NO_CURSOR

Change-Id: Icb40e49365114fedd5f1ef118dbd61ff2c413863
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Tablet target widget isn't always the same as its widget window

In this scenario there is a widget with a QPushButton inside, and you
click the pushbutton with the tablet.  The target of the event is the
pushbutton, but when you click it, the window is destroyed.  The
widgetwindow destructor cannot check the pushbutton's window() because
it has already been destroyed.  So it seems we have to store both
widgets: the actual target and the parent widget which has the window.

Task-number: QTBUG-36848
Change-Id: I37d8fb03743f3e501d695342edc42de104777b18
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Dynamic GL: Query gl handle and type via the native interface

Change-Id: I7ca5beaeb57ee2e4e9c175f53ac32371d1f6b5ed
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
Make QOpenGLFunctions able to resolve everything

At least if the platform plugin's QPlatformOpenGLContext implementation
supports it.

This completes the QOpenGLFunction changes necessary for dynamic loading
of the OpenGL implementation. Everything else is up to the platform plugin.

Change-Id: I710e6fbee3005360ecf02bc6ef976e1beb513819
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
spdy autotest: Fix build with QT_NO_OPENSSL

Task-number: QTBUG-37171
Change-Id: I76df40d53e1310c16f559f91c244c6162e35475e
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
spdy autotest: Fixed build with QT_NO_NETWORKPROXY

Task-number: QTBUG-37171
Change-Id: I835764978cf75592d46a20fa5f644f6accec43f5
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
QDoc: Do not warn about a file overwritting while writing to /dev/null

Change-Id: I7d23edf5a73d521bad361f1007be0750acd4c1e9
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Remove unused and unlinked qdocconf file from src/plugins.

Change-Id: Ie6fd3f9fe7d5bbbe948dd3d38d2be835fd92834d
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Use None instead of GLX_NONE

GLX_NONE is not 0, so it doesn't work as end-of-list marker
The documentation explicitly mentions to use None or NULL

Fixes valgrind warning

==22686== Conditional jump or move depends on uninitialised value(s)
==22686==    at 0x78949AF: glXCreatePbuffer (glx_pbuffer.c:709)
==22686==    by 0xDD7F0E1: QGLXPbuffer::QGLXPbuffer(QOffscreenSurface*) (qglxintegration.cpp:515)
==22686==    by 0xDD624B0: QXcbIntegration::createPlatformOffscreenSurface(QOffscreenSurface*) const (qxcbintegration.cpp:259)
==22686==    by 0x4F1D6A2: QOffscreenSurface::create() (in /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5.2.1)
==22686==    by 0xDD80248: QGLXContext::queryDummyContext() (qglxintegration.cpp:454)
==22686==    by 0xDD803F0: QGLXContext::supportsThreading() (qglxintegration.cpp:488)
==22686==    by 0x5BD9927: QSGRenderLoop::instance() (in /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5.2.1)
==22686==    by 0x5BF969E: QQuickWindowPrivate::init(QQuickWindow*) (in /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5.2.1)
==22686==    by 0x5C97BFC: QQuickView::QQuickView(QWindow*) (in /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5.2.1)
==22686==    by 0x40636F: startShell(int, char const**, void*) (main.cpp:91)
==22686==    by 0x407125: main (main.cpp:193)

Change-Id: Ib4f5ae50f7e31d3fbeb5acf67753e1d8b9e434b0
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Fix win32 mkspecs

Instead of checking for dynamicgl in QT_CONFIG, which is apparently
not possible, revert them and do it in opengl.prf instead.

Dynamic GL is Windows-only for the time being so this should be sufficient.

Change-Id: If293ea4c9b024df52257086c8b6250602a44724d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Clean up proxy leftovers in gui/opengl

Change-Id: I24d10dab121c23b0683fa99bd309cf557c3ddffb
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
Append additional compose file search paths

On FreeBSD Compose files are stored in different place than on Linux
distributions, this patch adds new search paths.

Change-Id: Ic1e745801a2f9a53d1af058be8a1dfaced5032a7
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Improve xkb config root detection

Relevant part from libxkbcommon's configure.ac file:

xkb_base=`$PKG_CONFIG --variable=xkb_base xkeyboard-config`
if test "x$xkb_base" = x; then
xkb_base=$datadir/X11/xkb
fi
AC_ARG_WITH([xkb_config_root],
[AS_HELP_STRING([--with-xkb-config-root=<path>],
[Set default XKB config root (default: xkeyboard-config install path)])],
[XKBCONFIGROOT="$withval"],
[XKBCONFIGROOT="$xkb_base"])
AC_SUBST([XKBCONFIGROOT])

This patch implements an equivalent logic in Qt's configure script (with some
additions).

Change-Id: I25968f76021e120e2439d2756121bbe3c5e18c98
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Fix warning about unused member

sub-attaq/boat_p.h:134:9: warning: private field 'key' is not used [-Wunused-private-field]

Change-Id: I3f4cb1325aaac71d2bf0e7807381742937d173f7
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Cleanup SPDY stream closing

We should not accept or process messages on closed streams, and unless
we are in a half-closed state (having initiated close ourselves), we
should respond to FIN with a FIN of our own.

This patch means we no longer trigger all the corner case teardown on
common sites that were fixed in earlier patches.

Change-Id: I0d2bab62700a0022a959e66c7053afbad07a9f7e
Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
Add optimize_full qmake config option

This patch adds a new config option to qmake to enable full optimization
where it makes sense. This currently is supported on all gcc like
compilers by exchanging -O2 for -O3.

In qtbase it is used to enable full optimizations on qtcore and qtgui
and in a later patch can be used to replace similar existing logic in
QtWebKit's WTF and JavaScriptCore modules.

This fixes a performance regression from gcc 4.7 to 4.8 in the software
renderer.

An aliasing error in qregion.cpp which was exposed by more aggresive
optimization has been solved as well.

Change-Id: Ic2c6c41b79cb3846212b40e7bcc11ff492beb27f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Do not attempt to open multiple windows in hellowindow on embedded

Platforms like eglfs will not allow opening more than one OpenGL-based
window. To prevent aborting the hellowindow example when invoked without
--single, enhance the capability check to include also WindowManagement
in addition to ThreadedOpenGL.

Change-Id: I147d90b31d9fd94912c36339d36af3f311aaa874
Reviewed-by: Andy Nichols <andy.nichols@digia.com>