Commit Graph

30576 Commits

Author SHA1 Message Date
Liang Qi
50aeedd86c Merge remote-tracking branch 'origin/5.6' into 5.7
Conflicts:
	mkspecs/features/qml_module.prf
	src/corelib/tools/qdatetimeparser_p.h

Change-Id: I5382cee3ddb33107dc61ee20f7a9188c4a68a882
2016-11-25 10:32:29 +01:00
Kai Koehne
600c5a7e1b Document third-party code in Cocoa QPA plugin
Change-Id: I2c30f5da25c83d6129403cb9b745a2f17fd6fd9e
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2016-11-25 08:11:28 +00:00
BogDan Vatra
17d72c7837 Android: All gcc flags should be set for clang too
gcc-base-unix.conf must be included before clang.conf because
clang.conf doesn't set all the needed flags.

Change-Id: I71f95732d0d245096b575c91610800d91c6aa5d7
Reviewed-by: Vyacheslav Koscheev <vok1980@gmail.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2016-11-25 06:06:57 +00:00
Orgad Shaneh
5bd2d6afec Remove nokia reference in example mimetype
Change-Id: I45c01fd57171f4ba6ea195d7ad3ae988a1797acb
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: David Faure <david.faure@kdab.com>
2016-11-24 20:03:35 +00:00
Liang Qi
3966ab51ff Merge "Merge remote-tracking branch 'origin/5.7' into 5.8" into refs/staging/5.8 2016-11-24 11:18:22 +00:00
Liang Qi
08dea594fe Merge remote-tracking branch 'origin/5.7.1' into 5.7
Change-Id: Ib7b4c3a1d92b93425663014482873742745c210b
2016-11-24 11:47:58 +01:00
Liang Qi
4783de0473 Merge remote-tracking branch 'origin/5.7' into 5.8
Conflicts:
	src/network/socket/qnativesocketengine_winrt.cpp
	tools/configure/configureapp.cpp
	tools/configure/environment.cpp

Change-Id: Ieae6f2ee004a87f041751852b687484f91ee4480
2016-11-24 10:31:21 +01:00
Lars Knoll
0861c2176c Use harfbuzz feature to check for HarfBuzz
instead of defining a special macro for it.

Change-Id: I715380717f7d871571f663be30b73f7d95d83d71
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2016-11-24 08:38:39 +00:00
Lars Knoll
72ed34b792 Don't set platform specific QT_NO_FOO defines in qglobal.h
They should be enabled/disabled through the configuration system.
Remove some unused defines, and move one define from qglobal.h to
a proper feature definition in Qt Gui.

Change-Id: Ie8d5bff9712ba745af60b42ceca3f0440bed2706
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-11-24 08:37:38 +00:00
Jesus Fernandez
4f896ba34e ICC: Fix MySQL driver build
In function `QMYSQLDriver::formatValue(QSqlField const&, bool) const':
qsql_mysql.cpp:1569: undefined reference to `QString::operator=(
QLatin1String)

Change-Id: I56104cdd53fdc083670510f24b735cf05948f156
Reviewed-by: Samuel Gaist <samuel.gaist@edeltech.ch>
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-11-24 06:22:44 +00:00
Allan Sandfeld Jensen
34be7dc9d0 Optimize fontdatabase fallbacksForFamily
Short-cut the case-insensitive string comparison when lengths doesn't
match.

This reduces the time spend in ucstricmp from 8% during start-up of the
textedit example, to under 1%.

Change-Id: Ib3a92900b330453289ec9eff4830dfac6a9a5da2
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-11-23 23:48:29 +00:00
Simon Hausmann
dc4c647137 Clean up the resource reading code
Instead of doing the conversion from the big-endian data by hand, let's
use the convenience functions from qendian.h.

Change-Id: If3966ca94428afabb1f5c922967fb9970f976622
Reviewed-by: hjk <hjk@qt.io>
2016-11-23 20:50:37 +00:00
Edward Welbourne
7c41ced98c QDateTimeParser: introduce at least some encapsulation
Shuffled its parts to make clear which bits are public, private and
protected.  QDateTimeEditPrivate makes rather heavy use of the last.

Change-Id: Ic5f9d0c5cc85f02e57d3f31e9ac31a17428c5311
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2016-11-23 15:02:50 +00:00
Edward Welbourne
0aa3de46ca Fix two leaky uses of realloc()
If it fails, we get NULL back but haven't free()d the old pointer;
saving the NULL return over the old pointer forgets it, leaking the
memory it pointed to.  This is particularly severe in the JSON
parser's grow(), where reading a very large JSON document can lead to
the last successful realloc() in a doubling pattern being very large
indeed; the subsequent failure will leak this very last allocation.

Only worth checking for, however, when the subsequent code takes care
to handle failure: in most cases, if realloc() fails, we're about to
crash anyway.

Change-Id: Icd3a503f169be224f0a058c58e8b7c82a3241ae7
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Anton Kudryavtsev <antkudr@mail.ru>
2016-11-23 15:02:15 +00:00
Edward Welbourne
a4bd635b33 Typo fix in QDateTime::toString() documentation
Text that should simply have been naming days of the week used
Qt::Sunday rather than the simple day name.

Change-Id: I64a3cdacd854c1c9c0fbf2d11826555086d674f4
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-11-23 15:01:39 +00:00
Timur Pocheptsov
d3ab4a1ce7 _q_networkSessionClosed - disconnect the correct object
We have:

...
auto networkSession = getNetworkSession();
...

getNetworkSession() can return non-null pointer even if
networkSessionStrongRef is null:

...
    if (networkSessionStrongRef)
        return networkSessionStrongRef;
    return networkSessionWeakRef.toStrongRef();
....

We check the result:
if (networkSession) {

    // here we disconnect signals
}

But we should use the same networkSession when disconnecting,
not start using networkSessionStrongRef suddenly, since it can
be null.

Task-number: QTBUG-57110
Change-Id: I96babb42c2182e741e6eabaf7d1abb88869861f4
Reviewed-by: Jesus Fernandez <jesus.fernandez@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2016-11-23 14:04:57 +00:00
Joerg Bornemann
435e7b17a3 Fix qmldir copying in debug and release builds on Windows
This is a backport of 6cc02ce6c8 from 5.7.

In a parallel build we may end up copying the qmldir file at the same
time, which doesn't work on Windows due to file locking. Apply the same
guard for the copying condition as in commit
770a0c91f3.

Task-number: QTBUG-57153
Change-Id: Ibac759b16cebaf04f5d2f785211b62071aa656a8
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2016-11-23 13:53:53 +00:00
Oswald Buddenhagen
0810d48bc4 unbreak "aux" template for mingw & msvc, take 2
of course, we should stub out everything related to TARGET - only the
generic "all" and "first" targets including their deps should be
emitted.

amends af2847260.

Change-Id: I8ed7a550b8022c69328d2e16dbd078928d176964
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2016-11-23 13:53:47 +00:00
Oswald Buddenhagen
5b05c37845 qmake: fix up dist targets for mingw & nmake somewhat
actually pack the extra compilers' input files, not the variable names.

unlike on unix, we don't create an actual distdir, so the package is
still going to be rather broken.

Change-Id: If0a15bbe9db95aebd88c2a21ca3c0f787ce5c7e1
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2016-11-23 13:53:42 +00:00
Kai Koehne
60054b5940 QSettings: Replace deprecated Win32 SHGetSpecialFolderPath
SHGetSpecialFolderPath is declared 'unsupported' by Microsoft, and has
problems with non-ASCII characters. Replace it by the newer
SHGetKnownFolderPath.

Task-number: QTBUG-50570
Change-Id: I8b2dfa10fa5dc30e6c3be094a2ba8d7c3504f2ca
GPush-Base: 4d181bd93234a3747b520d10417825a0147bfeb1
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
2016-11-23 13:48:46 +00:00
Friedemann Kleint
389b4ec28b Windows QPA: Do not send key events for mouse-synthesized app commands
Sending key events in addition causes applications to respond
twice to for example the back / forward extra mouse buttons.
Suppress the keypress by checking on the device. This is in
line with the other platforms, which do not send keypresses
either.
Native event filters will still be able to listen for
WM_APPCOMMAND.

Task-number: QTBUG-48117
Task-number: QTBUG-57198
Change-Id: I219e17244087663f06ab2c5a8cf4b880c3655700
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2016-11-23 12:41:19 +00:00
Lars Knoll
04b276b0f5 Remove last traces of MeeGo
Change-Id: I5242f1dfcfccf9811398e717b90196e6228d1dc5
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2016-11-23 10:57:19 +00:00
Allan Sandfeld Jensen
f17605777b Revert "Revert "Deduplication fetchTransformed""
qdrawhelper.cpp is now compiled without PCH, and changes
blocked by the ICE can be reinstated.

This reverts commit cd9de59177.

Task-number: QTBUG-56817
Change-Id: I8d674768d16b3705598bfe5d08ed98376c97a478
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2016-11-23 10:53:47 +00:00
Lars Knoll
5d9413ab35 Remove Mac specific code paths from qiconvcodec
The code is dead, as the codec is never used on macOS.

Change-Id: I86138f1c95e5564256b4d592f0044e83658def93
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2016-11-23 10:31:03 +00:00
Lars Knoll
fd9e5d9033 Clean up iconv configuration
Turn iconv off if ICU is being used (in line with codecs.pri)
and get rid of the DEFINES += GNU_LIBICONV in the pri file.

Change-Id: I6fbca975498adbb3e67f913ae9b1dd5cc53ee8da
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2016-11-23 10:30:57 +00:00
Lars Knoll
7e9aca683a De-duplicate the systemsemaphore entry
Change-Id: Id015cfe60956d899bbb58597b88204738578b7fe
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2016-11-23 10:30:45 +00:00
Allan Sandfeld Jensen
9204b8c31e Register fonts with preferred names on Windows
Looks up the canonical names of enumerated fonts and register them under
their preferred names if present.

Also changes the logic handling registration of english aliases, so it
is always done, even if it might in rare cases cause a double
registration since that is safe.

Task-number: QTBUG-53458
Change-Id: Ia010774b26072192b55697b717cc37442c852881
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2016-11-23 10:04:47 +00:00
Oswald Buddenhagen
53686bf86d configure: simplify version string setup
this basically finishes the job of 2d2cb6434.

Change-Id: I47a5e29ca0df7f521242790be64a09b3514be464
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2016-11-23 09:38:19 +00:00
Oswald Buddenhagen
9bdb5b5ffe configure: put more of the makefile contents into template files
... instead of having (duplicated) code in the configures to create it.

Change-Id: Ia86b44021a024a969f5a49b7fb18d3d414869f93
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2016-11-23 09:38:14 +00:00
Oswald Buddenhagen
4ce0beee1b configure: delete some dead code and outdated comments
Change-Id: I764a9b383176e1fe9573790547ce0e12d1f88261
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2016-11-23 09:38:09 +00:00
Oswald Buddenhagen
798b09ffe6 configure: don't read QMAKESPEC from the environment
it was rather unexpected that this was done, entirely inconsistently
with how the rest of the configure parameters are handled.

Task-number: QTBUG-52266
Change-Id: I6e1d7a4fe1c85d6d64d465517b6be3f3cdda3359
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2016-11-23 09:38:05 +00:00
Oswald Buddenhagen
6d2f7e9efe fix handling of -optimized-tools, take 2
amends dfbfc4915.

Change-Id: I5516f322fceee0d71c2e09b4314f38207b4ac630
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2016-11-23 09:38:00 +00:00
Oswald Buddenhagen
591d9588f7 fix use of $$QMAKE_QMAKE
the variable is converted to a format suitable for makefiles only after
the project was read. to access it, one needs to use the exported
makefile variable $(QMAKE).

amends 2b6bcd5ff.

Change-Id: I5eddff4bebbbcf461b565d5033d17a8daff1e6f4
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2016-11-23 09:37:56 +00:00
Oswald Buddenhagen
fedc09daa4 don't mention config.log in error messages before it even exists
Change-Id: I0d56aff4988e92f2e4ce63a6a7939fbb4ceab590
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2016-11-23 09:37:51 +00:00
Kai Koehne
a5cf8d76c2 Remove second mentioning of cycle.h 3rdparty license
This is now documented in the qt_attribution.json file added in commit
41a7d74385 .

Change-Id: I4f13397a14de7d9f98ba146cabf64dafac5dada4
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2016-11-23 09:35:58 +00:00
Kai Koehne
7611028879 List ANGLE contributions after another
Place ANGLE at the start of the title, so that the different entries
are sorted correctly.

Change-Id: I11e9d25874f06450a3d9049b5f5c94aa53621e08
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2016-11-23 09:35:53 +00:00
Kai Koehne
b200bc662e Improve documentation for 3rdparty freebsd code
Change-Id: Iad5c659c2c422bf20e7ba6161889c7b261512e9e
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2016-11-23 09:35:46 +00:00
Kai Koehne
b6f4003b87 Fix forkfd 3rd party documenation
Bring the copyright lines in the license and the one's
in the metadata into line by using the ones from forkfd.c.

Also bring back description of forkfd from 5.6 documentation.

Change-Id: I423ee8d5d1e1c866a34c346f78520d33ea099b5e
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2016-11-23 09:35:41 +00:00
Kai Koehne
ae93a76c93 Document The Public Suffix List
Change-Id: I3c8b00e04ed30209b0de0927b473ba2b9a4f0c87
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2016-11-23 09:35:35 +00:00
Kai Koehne
6542712dfa Extend documentation for SHA-3 third-party license
Write down which files are under CC0, and which under BSD.

Change-Id: Ifdbfa3393b2a0f0d857e6c569bd105426c0719cb
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2016-11-23 09:35:26 +00:00
Maurice Kalinowski
fca4acbfba Remove wince checks
Windows CE is not supported since 5.6. No need to have checks anymore.

Change-Id: I384bd67e04dec06e83ee69b4ef5dc7dd97888c14
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2016-11-23 09:28:03 +00:00
Maurice Kalinowski
2c8c6dd9a4 Fix compilation without QPrinter support
Task-number: QTBUG-56321
Change-Id: Ic77d01431ee58d609eca895d1f2d216042406bc9
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2016-11-23 09:27:56 +00:00
Maurice Kalinowski
d20a99c081 winrt: Add printsupport
For WinRT QPrinter and co are disabled in the new configure system.
Still, we need to have printsupport enabled as a module, providing
no printer.

Task-number: QTBUG-56321
Change-Id: I95ce538e8f54073832af551ccf7f981e877a3b25
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2016-11-23 09:27:51 +00:00
Maurice Kalinowski
e9fa435652 winrt: Add support for Windows Information Protection
Windows Information Protection is used for splitting corporate and
personal data, requiring connections to be established in a different
way instantiating ThreadNetworkContext.

Usage is enabled via the QT_WINRT_USE_THREAD_NETWORK_CONTEXT environment
variable.

Change-Id: I3aaa097b66fc616d42cd05a1e20bbcb004f6e467
Reviewed-by: James Tong
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2016-11-23 09:27:45 +00:00
Edward Welbourne
20017d0b1b Remove some #if 0 blocks from API headers
Noticed in API review for 5.8 release.

Change-Id: I1dd48c676924048c32fab8307868cf61915df131
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
2016-11-23 09:25:14 +00:00
Edward Welbourne
a32424b46c AreArgumentsNarrowedBase: Correct logic for narrowing connect() casts
The prior test deemed there to be narrowing if source and destination
integral-or-enum types didn't have the same signedness; but all values
of an unsigned source type can be represented in a larger signed
destination type, so there is no narrowing in this case.
Updated QObject test-case to match.

Change-Id: I517a5997adcad70e185d7469a8d26788e463cb75
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2016-11-23 09:24:40 +00:00
Liang Qi
38c1057f69 Merge remote-tracking branch 'origin/5.6' into 5.7
This also reverts commit 0d2f0164f4.

Conflicts:
	header.BSD-NEW
	qmake/Makefile.win32
	src/openglextensions/qopenglextensions.cpp
	src/openglextensions/qopenglextensions.h
	src/winmain/qtmain_win.cpp
	src/winmain/qtmain_winrt.cpp
	tools/configure/configureapp.cpp
	util/glgen/qopenglextensions.cpp.header
	util/glgen/qopenglextensions.h.header

Change-Id: If26c6f4111b342378dd88bbdc657e322d2ab6ad8
2016-11-23 09:24:36 +01:00
Andy Shaw
d8857f21ac If there are no available sizes, then fallback to the requested size
In a case like the SVG iconengine there is no available sizes
implementation. However in that case we don't need to provide different
sizes as we can have SVG scale it for us to the one requested. So it is
assumed that with no available sizes implementation that the icon
engine will take care of this for us.

This ensures that SVG files can be used as icons inside the menu on
macOS.

Task-number: QTBUG-40225
Task-number: QTBUG-55932
Change-Id: If01ca582c4c07834e6de16652924e0b7e118c87c
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2016-11-23 06:58:05 +00:00
Anton Kudryavtsev
be94fc445a QString: optimize remove(QChar, Qt::CaseSensitivity)
remove(int, int) with O(N) was used in a loop.
We had a quadratic complexity.

Use erase-remove idiom to fix it.

Change-Id: I643a2a75619ec5ea2bf99e48a25f64a7f69ba156
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-11-23 05:27:05 +00:00
Friedemann Kleint
b5222307af Fix some qdoc-warnings
qtbase/src/corelib/kernel/qdeadlinetimer.cpp:343: warning: Cannot find 'setPreciseRemainingTime(...)' in '\fn' void QDeadlineTimer::setPreciseRemainingTime(qint64 secs, unsigned nsecs, Qt::TimerType type)
qtbase/src/corelib/kernel/qdeadlinetimer.cpp:459: warning: Overrides a previous doc
qtbase/src/corelib/kernel/qelapsedtimer.cpp:86: warning: Unknown command '\ref'
qtbase/src/corelib/global/qglobal.cpp:1184: warning: Undocumented enum item 'MV_WATCHOS_2_2' in QSysInfo::MacVersion
qtbase/src/corelib/global/qglobal.cpp:1184: warning: Undocumented enum item 'MV_WATCHOS_3_0' in QSysInfo::MacVersion
qtbase/src/corelib/global/qglobal.cpp:1184: warning: Undocumented enum item 'MV_WATCHOS' in QSysInfo::MacVersion
qtbase/src/corelib/global/qglobal.cpp:1184: warning: Undocumented enum item 'MV_WATCHOS_2_1' in QSysInfo::MacVersion
qtbase/src/corelib/global/qglobal.cpp:1184: warning: Undocumented enum item 'MV_WATCHOS_2_0' in QSysInfo::MacVersion
qtbase/src/corelib/kernel/qdeadlinetimer.cpp:175: warning: Missing parameter name
qtbase/src/corelib/kernel/qdeadlinetimer.cpp:175: warning: No such parameter 'ForeverConstant' in QDeadlineTimer::QDeadlineTimer()
qtbase/src/corelib/kernel/qdeadlinetimer.h:156: warning: No documentation for 'QDeadlineTimer::remainingTimeAsDuration()'
qtbase/src/gui/painting/qcolor.cpp:796: warning: Undocumented parameter 'name' in QColor::QColor()
qtbase/src/gui/painting/qcolor.cpp:802: warning: Undocumented parameter 'name' in QColor::QColor()

Some errors in QDeadlineTimer remain due to qdoc not fully supporting templates.

Change-Id: Ie7afd91c48048748eeda23c32056583c31fd7490
Reviewed-by: Nico Vertriest <nico.vertriest@theqtcompany.com>
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2016-11-23 05:24:02 +00:00