Commit Graph

28058 Commits

Author SHA1 Message Date
Thiago Macieira
a26435d65c Print the QStorageInfo dump on test start
So we know what we're looking at if there's a test failure. This is like
QNetworkInterface.

Change-Id: Id75834dab9ed466e94c7ffff1444bf51f615e944
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-05-14 01:21:27 +00:00
Thiago Macieira
56b5706ce0 Remove dead code from QColorDialog
Detected by GCC 6.

Change-Id: I24a735698d3c4a719fc9ffff1425f193511406f9
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2016-05-14 01:21:22 +00:00
Thiago Macieira
dc40abe925 Move out the code to extract the backtrace to another function
This will make it easier to use create backtraces in other contexts.

Change-Id: I56b838ab04d9810108fcdb7f8c2fd91255864850
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2016-05-13 21:42:45 +00:00
Eskil Abrahamsen Blomfeldt
186d391f25 Work around QFont bug in QFontDialog test
The QFontDialog test will currently fail for some PCF bitmap fonts
because the list of smooth sizes it uses to populate its size list
contains unsupported sizes. We work around this by adding
QEXPECT_FAIL when we detect that the failure is going to happen.

Task-number: QTBUG-46056
Task-number: QTBUG-53299
Change-Id: Ia665cca220f3622405d1a2336e8d587545cccbc6
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
2016-05-13 21:08:07 +00:00
André Klitzing
aebb54b24b Add ephemeralServerKey to isNull() and operator==
Change-Id: Iacd0f55886847630b84a8037d8d26504c558c90e
Reviewed-by: Sebastian Lösch <Sebastian.Loesch@governikus.com>
Reviewed-by: Markus Goetz (Woboq GmbH) <markus@woboq.com>
2016-05-13 20:27:36 +00:00
Marc Mutz
ed38750c03 Add -Wzero-as-null-pointer-constant to headerclean check
Requested by user(s).

Change-Id: Id2c7d67a8cd50f4f83f141cff41ba01e21c3a603
Task-number: QTBUG-45291
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-05-13 19:41:55 +00:00
Marc Mutz
9e4639060e Move q{Set,}GlobalQHashSeed() to the correct header file
The <QHash> only contains the container these days,
while <QHashFunctions> contains the qHash() function
overloads and related functions. This is where these
two functions belong, too.

This change is BC and SC, since qhash.h includes
qhashfunctions.h.

Change-Id: I2e7febb0ffca209af67fb9f2cd363596867a44e1
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-05-13 19:41:15 +00:00
Timur Pocheptsov
ae975859f9 Revert "tst_qudpsocket - remove insignificant"
This reverts commit 11ad50074b.
Unfortunately, udpsocket strikes back this time on OS X < 10.10 -
never seens these test failing before. Since this prevents 5.6->5.7
merge, I have to revert it until the problem investigated/fixed on OS X.
Alas :(

Change-Id: I52f6512d88c25d2e3071cb845e91faefbd455e27
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2016-05-13 19:07:56 +00:00
Anton Kudryavtsev
432d3b6962 QDateTimeParser: use QStringRef more
Avoid unnecessary allocations.

Change-Id: I217ba3fe20293f5cdeeaac2dfae15f837cda51e0
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-05-13 05:25:55 +00:00
Oswald Buddenhagen
1af3a21c63 actually build an optimized qmake in release builds
release_tools is not set in pure release builds - in fact, we complain
if it is.

Change-Id: Ifac73c0ef6f8967155b63f7fc9c9ce9de1acf337
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2016-05-13 04:37:30 +00:00
Eirik Aavitsland
5316befba2 ICO image format: fix regression in writing when size >= 256
In commit c6c9304, the earlier size limit of 128 was raised to the
format's defined maximum of 256. But the required special storage of
this size in the image structures was not implemented. Hence,
attempting to store such big icons would result in invalid image
files.

Fix the size storing details, and add some autotests of ico format
writing since that was practically uncovered.

Task-number: QTBUG-53259
Change-Id: I00e17a04e90c32dcf1124ba5adaf53728fb74dc7
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2016-05-13 04:37:15 +00:00
Allan Sandfeld Jensen
ad54ac5a84 Fix building with -qreal float
Min and max expressions need matching types, which means we have to
take care both values are qreal.

Task-number: QTCREATORBUG-15851
Change-Id: I5f123e979fa896006ff6eafaac1f65b667db975d
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-05-13 04:37:05 +00:00
Jesus Fernandez
2ac3fab45f Fixed crash in QAuthenticator::operator==
[ChangeLog][QtNetwork][QAuthenticator] Fixed crash when
comparing a initialized QAuthenticator with an uninitialized
QAuthenticator.

Task-number: QTBUG-53338
Change-Id: Ib8b732b9c65c02ee542885e5d6fe9bd1589a6b1a
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
2016-05-13 03:58:06 +00:00
Marc Mutz
7248e97669 QtConcurrent/QtOpenGL(Extensions)/QtPrintSupport/QtTestLib/QtXml: add QT_NO_FOREACH
Mark these libraries as what they are: Q_FOREACH-free,
using QT_NO_FOREACH.

Change-Id: I2a567d9fe67e15e9b6f0784525810b553dc50e1f
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2016-05-12 21:42:10 +00:00
Marc Mutz
656e6ae9ea QtNetwork: port the last remaining Q_FOREACH loop and add QT_NO_FOREACH
Port the last remaining Q_FOREACH user in QtNetwork to
C++11 range-for and mark the library as Q_FOREACH-free,
using QT_NO_FOREACH.

Change-Id: I8977f151e3575422fc1154677e035274c018d66f
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2016-05-12 21:42:05 +00:00
Gabriel de Dietrich
2852a8b87e XCB: Auto-detect xcb-glx also with xcb-qt
Task-number: QTBUG-43784
Change-Id: Iaa0388e34900f6241db8cd864caed4fb6fc32819
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2016-05-12 19:11:51 +00:00
Friedemann Kleint
07dd6dbaee QLineEdit: Fix icons being too small on a High DPI screen without scaling.
Remove the hardcoded size 16 from QLineEditIconButton. Replace
QLineEditPrivate::iconSize() by QLineEditPrivate::sideWidgetParameters()
returning a struct SideWidgetParameters containing icon size, widget size and
margins. The 32x32 icon will then be used on a High DPI screen without scaling.

Task-number: QTBUG-49374
Change-Id: I23c4a0cd078a58581c940aacfa65a3ad493c12dc
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
2016-05-12 19:03:58 +00:00
James McDonnell
678e427948 Adjust FreeType choice made by configureapp
FontConfig requires FreeType, so choosing the system FontConfig (there
isn't a bundled FontConfig) means that the system FreeType must be used.
QNX ended up configured to include the bundled FreeType and the system
FontConfig which produced a fault when bundled FreeType structures got
passed through FontConfig to the system FreeType.

Task-number: QTBUG-52578
Task-number: QTBUG-51417
Change-Id: I56add73d34320c1d08f63b57cb0fef1ba06264e8
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-05-12 18:58:09 +00:00
James McDonnell
d179931ada Warn when -fontconfig forces -system-freetype
Let the user know that configure's switch from -no-freetype/-qt-freetype
to -system-freetype when -fontconfig is used is expected.

Task-number: QTBUG-35886
Change-Id: I95daaeffb0878bb785149f314096405a5c0fdc7a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-05-12 18:57:54 +00:00
Thiago Macieira
8d5b1bdca8 configure: present some progress status for the detections
The "checking for xxx... [yes|no]" is chosen so that it matches exactly
what GNU Autoconf does. That way, any tools that parse the output will
have less trouble.

This feature is useful for us when debugging a build, as not all checks
produce output in the configure summary.

Change-Id: Id75834dab9ed466e94c7ffff14456edb646a1ced
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-05-12 18:31:38 +00:00
Thiago Macieira
c9998b8af3 Fix build with GCC <= 4.2 (FreeBSD 9.x)
15b42af111 changed the qt_cpu_features
variable to be an array and never fixed this #if branch of the code.

Change-Id: Id69569111e7d4e619e22ffff144cf930f86f478e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2016-05-12 18:31:19 +00:00
Thiago Macieira
29ac941c1e Bearer: replace the use of QMutexPool in the Windows plugin
Use a simple Q_GLOBAL_STATIC

Change-Id: Ifea6e497f11a461db432ffff1449b14b63628c12
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2016-05-12 18:31:17 +00:00
Thiago Macieira
e9d1d659a3 src.pro: include the build of bootstrap-dbus in developer builds
This is just a compile test for the the bootstrapped version of QtDBus
(no QObject). Nothing depends on it in regular, non-cross-compilation
builds.

Change-Id: Id69569111e7d4e619e22ffff144da8e646d037d9
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-05-12 18:30:57 +00:00
Alex Trotsenko
ac2ccb1559 QHttpSocketEngine: set error on unsupported operations
Force overloads which relate to UDP or listening to fail with a
'UnsupportedSocketOperationError' error code.

Change-Id: I057c47864ee1d9c95b413edfda977dd0607844cb
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
2016-05-12 17:21:53 +00:00
Giuseppe D'Angelo
4dc29bc9de QSharedPointer: move QDebug stream operators into qdebug.h
In order to avoid pulling in QDebug when including QSharedPointer.

Change-Id: I14b86d1f100ed44a68258c91bbda394b655bac83
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-05-12 16:41:32 +00:00
Dmitry Shachnev
f199bb9133 dbustray: Use separate D-Bus connections for each tray icon
This allows applications to use two or more QSystemTrayIcons.

Task-number: QTBUG-53021
Change-Id: I520db99c1c3718906669d1b544d44a8d2f71e1ce
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
2016-05-12 13:40:05 +00:00
Leena Miettinen
d6fbb9070f Doc: Remove references to obsolete reset() function
...from the docs of the signals it emits.

Task-number: QTBUG-53228
Change-Id: Ifdd91404cae9dd6480ae29b31f2a48fa024df442
Reviewed-by: Nico Vertriest <nico.vertriest@theqtcompany.com>
2016-05-12 12:15:57 +00:00
Topi Reinio
72e3fcce38 Doc: Remove repository name from examplesinstallpath
Examples in binary packages now directly match the install path.

Change-Id: Ic1487bc766cfd3b0a0a340cc4ae4ba49d953eaa6
Task-number: QTBUG-52953
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-05-12 12:15:52 +00:00
Oliver Wolff
d8d4129c1b ANGLE: Disable support for shared handles in warp mode on Windows < 8
Shared handles are not supported on Windows 7 and below. If the
according flag is set CreateTexture2D will fail with E_OUTOFMEMORY. The
check already happens with newer ANGLE versions, which we use in 5.7
but has to happen here as well. Otherwise Qt applications running on
Windows 7 and below will crash at startup.

Change-Id: I8f539f16dce298611fb1ec7b2f6804d4a04d04e0
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
2016-05-12 12:15:42 +00:00
Oliver Wolff
864380639b ANGLE: fall back to warp mode in case of standard VGA driver
The combination of vendor and device ID being 0000 indicates, that the
standard VGA driver is used, and happens when using Qt in a:
  - Windows 7 machine without proper GPU drivers
  - Windows 7 machine with disabled GPU
  - HyperV vm

The default driver does neither support D3D9 nor D3D11 properly so that
we have to fall back to warp mode for ANGLE.

Change-Id: Ia766e32d680c910a50ec3d6b5002892cdb90fdbb
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2016-05-12 12:15:34 +00:00
Marc Mutz
99ca471014 winmain: port the last remaining Q_FOREACH loop and add QT_NO_FOREACH
Port the last remaining Q_FOREACH (over a QVarLengthArray,
no less) in winmain to C++11 range-for and mark the library
as Q_FOREACH-free, using QT_NO_FOREACH.

Change-Id: Ic561080f7dd61d1d853ceb9e211c9b8a23bf05a5
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
2016-05-12 11:21:01 +00:00
Eskil Abrahamsen Blomfeldt
d70205cd2b Remove dead code from tst_QFont::exactMatch()
All this code was skipped on all platforms, so keeping it is just
confusing.

Change-Id: I405d2e791b22a2494fe5ccac6e3bf08905dc4e5a
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
2016-05-12 10:13:58 +00:00
Eskil Abrahamsen Blomfeldt
78eeb6b066 QFont::exactMatch() should return false for aliases
This is a partial revert of 992f233c in Qt 4 repo. The rest of the
change cannot be reverted, since it added public API, but that
API might be useful anyway.

The patch was wrong, basically. QFont::exactMatch() should not claim
that you can get an exact match for a typeface alias. It also introduced
some weird inconsistencies: For instance, if the first font the alias
resolved to in FontConfig did not exist, then exactMatch() would return
false, even if it then resolved to the next one which existed. This
caused a test failure on OpenSuse, where the preferred font for "sans"
is Arial, which doesn't exist, so Roboto will be used instead.

[ChangeLog][QtGui][Important Behavior Changes] QFont::exactMatch() now
returns false when the provided typeface is an alias.

Task-number: QTBUG-46054
Change-Id: I7532d2879b492544620aa0d1d87dd493a4923af9
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
2016-05-12 10:13:42 +00:00
Oswald Buddenhagen
adf85c09b4 Merge 5.6 into 5.6.1
Change-Id: I22003b840f1a7ac685a1ec3353d7e7dbd84c3953
2016-05-12 11:17:23 +02:00
Friedemann Kleint
feaef44559 Windows: Suppress error dialogs when querying logical drives.
Set the error mode flag SEM_NOOPENFILEERRORBOX when calling Win32 API
GetLogicalDrives() to prevent it from prompting to insert media
as does QStorageInfoPrivate::mountedVolumes().

Task-number: QTBUG-18729
Task-number: QTBUG-32457
Change-Id: I5c76afbb5bf2ec5ec84194650c316fe531578d5b
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2016-05-12 06:58:06 +00:00
Alexander Volkov
46f1c4c86b xcb: Properly interpret data.l[0] field of XdndStatus message
The standard https://freedesktop.org/wiki/Specifications/XDND/
states: "In order for the proxy window to behave correctly, the
appropriate field of the client messages, window or data.l[0],
must contain the ID of the window in which the mouse is located,
not the proxy window that is receiving the messages."

So compare it with the current target window instead of the
current proxy window.

Change-Id: Ie31fd3aeadebcf5a9be7b9a9194f35a4ec7bdebb
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2016-05-12 05:45:23 +00:00
Thiago Macieira
9ef59b586d QMutex: make FUTEX_PRIVATE_FLAG a mandatory feature
The flag was introduced in kernel 2.6.22, but we're already depending on
features added on 2.6.23 in qcore_unix_p.h (pipe2, dup3, O_CLOEXEC) and
2.6.27 in qnet_unix_p.h (accept4 and SOCK_CLOEXEC).

Change-Id: Id5480807d25e49e78b79ffff144a093c9e30cd96
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-05-11 22:22:50 +00:00
Mitch Curtis
6bcd27b957 Document how to save an application using QUndoStack
Change-Id: Ic61374d5b6ce395dfe8d0b30813ea437b5e16e9d
Task-number: QTBUG-52497
Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
2016-05-11 17:38:23 +00:00
Friedemann Kleint
37a983cd98 Dirview example: Add option for DontUseCustomDirectoryIcons.
This enables people to toy around with the option and check
what impact it has.

Change-Id: I8b49c31211cc48721b3326eea48b4e74967b1a92
Reviewed-by: Sérgio Martins <iamsergio@gmail.com>
2016-05-11 17:29:17 +00:00
Gabriel de Dietrich
36578d41f3 Remove wrong doc note for QPlatformBackingStore::flush()
This is no longer true on at least Cocoa, Windows and xcb.

Change-Id: I214caae46a8707ab7c89138646219140079e919a
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2016-05-11 17:21:18 +00:00
Marc Mutz
e2e0dfee7c QtCore/QtDBus/QtSql: port the last remaining Q_FOREACH loop and add QT_NO_FOREACH
Port the last remaining Q_FOREACH user in QtCore to
C++11 range-for and mark QtCore, QtSql and QtDBus as
Q_FOREACH-free, using QT_NO_FOREACH.

Change-Id: Ia6f99139cb1ca4a8bbe9e445421592242e048b0a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-05-11 16:55:37 +00:00
Marc Mutz
f0d7080e9e qmake/tools: port the last remaining Q_FOREACH loops and add QT_NO_FOREACH
Port the last four remaining Q_FOREACH users in qmake
and uic to C++11 range-for and mark all qtbase tools
(incl. qmake) as Q_FOREACH-free, using QT_NO_FOREACH.

Change-Id: Ief4e5877269e7a853e4cf05e58861a448e822d3d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2016-05-11 16:55:32 +00:00
Marc Mutz
81793b8b58 Add QT_NO_FOREACH to disable foreach and Q_FOREACH
It has been known for a long time that Q_FOREACH produces
inferior code to other looping constructs, and the use of it
in Qt library code was informally frowned upon since forever
(pun intended).

Yet, to this day, several thousand foreach/Q_FOREACH loops
have been added to Qt libraries, and while many were ported
to range-for in Qt 5.7, there are still new ones added every
day, which is a nuisance, to say the least.

This patch introduces a technical way to prevent new foreach
use to creep into Qt libraries after they have been cleaned,
by simply not defining either Q_FOREACH or foreach when the
QT_NO_FOREACH macro is defined. This way, one library at a
time can be ported away, and, once ported, is guaranteed to
actually stay ported.

Change-Id: Ie042e84d6c7d766bd16095f9bc1118a8e0ce0c7a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-05-11 16:55:22 +00:00
Laszlo Agocs
c46f74d325 eglfs: Support dynamic mouse cursor show/hide with DRM HW cursor
Task-number: QTBUG-52743
Change-Id: I0bea1451dfe7b049c129b11716d593115e3d8374
Reviewed-by: Louai Al-Khanji <louai.al-khanji@qt.io>
2016-05-11 12:36:38 +00:00
Oswald Buddenhagen
edc4f02410 make -R and -D not affect qmake
this was meant to be part of d8be8110a, as qmake is obviously also a
bootstrapped tool.

-I/-L/-F/-l/-fw already had no effect on qmake.

Change-Id: I5095742ef5401558cc4432e7a774d0851d417bb0
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2016-05-11 11:53:11 +00:00
Eirik Aavitsland
40a9216e06 Avoid asserting when painting certain degenerate bezier paths
It could happen that the stroker would attempt to join empty subpaths,
resulting in an invalid path structure that would cause assert later.

Task-number: QTBUG-43474
Change-Id: Ia369a31e60c40cdae3900d96f15f3e83c9e78b97
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2016-05-11 08:32:00 +00:00
Mitch Curtis
e64b2234e8 QImage::setPixelColor: warn about invalid colors
Task-number: QTBUG-52142
Change-Id: I9f390bd332f8edabaece75a6b36830c691ff4b9e
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
2016-05-11 07:21:02 +00:00
Anton Kudryavtsev
361564dacf QDateTimeParser: adapt unquote() to make good use of QStringRef.
Avoid unnecessary allocations.

Change-Id: I9bed622c0dd7d9fe993b52d9169d1773957da4f2
Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-05-11 06:44:22 +00:00
Anton Kudryavtsev
c6618cb885 QDateTimeParser: de-duplicate calls and cache results
Change-Id: I0d6065fbdd19acff14072ff626585e8a12a3e073
Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-05-11 06:44:11 +00:00
Laszlo Agocs
834087c324 eglfs: Fix DRM+KMS backends
The native display was simply invalid.

Task-number: QTBUG-53225
Change-Id: I682fb1d91dbea3dab971a079060d181fc313da46
Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
2016-05-10 23:24:54 +00:00