Commit Graph

29353 Commits

Author SHA1 Message Date
Jake Petroules
f607233c7c Don't disable CoreText on watchOS Simulator
Frameworks are not available on Apple platforms on a device vs simulator
basis. The documentation states that CoreText is available on watchOS:
https://developer.apple.com/reference/coretext?language=objc, as do the
watchOS 2.2 release notes.

Therefore, work around the problem and note the rdar numbers for the
bug report to Apple.

Change-Id: I7f8ce830aee7a23d65aaf44072e5294188da5e63
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
2016-08-25 22:18:01 +00:00
Marc Mutz
a158277f9e QGraphicsAnchorLayout: don't build a QSet just for building a set difference
op- takes a copy of the LHS, and calls subtract() on it. That means that
the old code not only added more nodes to the set than necessary (wasting
memory when nodes are removed again), but also takes a deep copy of the
large LHS container.

Fix by building the final set ourselves selectively. This avoids creation
of useless nodes, as well as the deep copy.

Port Q_FOREACH loop to C++11 range-for as a drive-by.

Change-Id: I9c83af02159a7d29ff5c2e7c3a4952a735c32af3
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2016-08-25 13:39:57 +00:00
Marc Mutz
f32dfc9125 QAccessibleDisplay: don't use a container for just one element
Drop the use of QVLA, and the loop. Put all of the code into
QT_NO_SHORTCUT.

Change-Id: I49b8e9aa403ea793fd2f3701a521776c33b64a3c
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2016-08-25 11:57:33 +00:00
Jake Petroules
75211131aa qmake: handle QMAKE_PLUGIN_BUNDLE_NAME in resolve_target.prf
Change-Id: I532dcc4a6595f8b3c8371225cc4fb46fe38d8762
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-08-25 11:02:47 +00:00
Jake Petroules
3666fc674f qmake: tighten up isFramework check so it doesn't match plugin bundles
Plugin bundles are not frameworks, so this fixes the case where a lib
template with plugin and lib_bundle in the CONFIG would be mistaken
for a framework bundle, which has a different filesystem layout and
handling.

Change-Id: I9ce9daf22d4e3de70bfe7bc8bb219068de0bca42
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-08-25 11:01:39 +00:00
Jake Petroules
aae7a5e09d qmake: Add shallow bundle support
This is a prerequisite for properly constructed framework bundles.

On certain Apple platforms (iOS, tvOS, watchOS), bundles are used
in "shallow" format, meaning that the directory structures are
flattened compared to the one used in macOS bundles.
shallow_bundle allows the difference to be expressed independently
of the platform. Note that the term "shallow bundle" is used by
Apple in Xcode internals.

Change-Id: I1189c52b0ea66843c313783176c11cc2af97ad25
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-08-25 10:55:31 +00:00
Liang Qi
e9f0766d12 Merge "Merge remote-tracking branch 'origin/5.8' into dev" into refs/staging/dev 2016-08-25 12:19:25 +00:00
Liang Qi
6f58358791 Merge remote-tracking branch 'origin/5.8' into dev
Change-Id: I309691a541ff0b296fb6bbfbc0761cc1c627573a
2016-08-25 11:41:19 +02:00
Edward Welbourne
02af515528 tst_qnetworkreply: use preprocessor rather than "commenting out"
Debug code is suppressed; let someone investigating a problem be able
to turn it on/off by just editing one byte instead of each line of the
block of debug code.

Change-Id: Iba06df4042d9126d3a5d0873e524ef504c19d3de
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
2016-08-25 08:00:01 +00:00
Edward Welbourne
fc3346cba8 tst_qnetworkreply: use .left(...) in place of .mid(0, ...)
Change-Id: Iaa150788011552e19b239e675862c0224dbcefc9
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
2016-08-25 07:59:54 +00:00
Edward Welbourne
558cb8e6ec tst_qnetworkreply: ditch fatuous 1* on a constant
Change-Id: I0960fccaaf1316b822c26c5c8be1504469a63ddc
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
2016-08-25 07:59:47 +00:00
Edward Welbourne
99d2e0f861 tst_qnetworkreply: condition dereferencing on non-null
The (event) loop member spends most of its time NULL, so make sure
slots that dereference it can't trip up if called asynchronously when
it is.

Change-Id: If634df0ecf9650b52621bdb5a3e9f151abbc18fc
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
2016-08-25 07:59:41 +00:00
Edward Welbourne
2f865adb16 tst_qnetworkreply: purge stray space inside parenthesis
Change-Id: I82c382b4678c3bd8517221c85febdd174f7058d4
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
2016-08-25 07:59:34 +00:00
Edward Welbourne
06c7d67e13 tst_qnetworkreply: linearise a succession of checks
Restructure an if { if/else} else chain so that it reads more logically.

Change-Id: I0d9a68451147d2b7e6a6d01cf7bee1a64b9902a7
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
2016-08-25 07:59:28 +00:00
Edward Welbourne
32fbcf71ee tst_qnetworkreply: restructure #if-ery round a condition
If SSL was unavailable but requested (should never happen)
MiniHttpServer::incomingConnection() would have crashed on
dereferencing unset member client.  Rework the run-time conditioning
on SSL to sit entirely inside the #if-ery on SSL support, so that
client is at least set in each code-path.

Change-Id: I9a8ee8e4186e16dd0d00b7f9cc9b988f0b4c62ff
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
2016-08-25 07:59:21 +00:00
Edward Welbourne
0b3509d85d tst_qnetworkreply: deduplicate some code
Moved a line of code that appeared after each call to setupSslServer()
into that function and replaced a copy of its code with a call to it.
Moved a line from the end of both branches of an if/else to after it.

Change-Id: I74ef3e643e41ce0279a6de7f4828baea4423f267
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
2016-08-25 07:59:16 +00:00
Edward Welbourne
d037cb7821 tst_qnetworkreply, coding style: fixes to brace-placement
Many struct, class and function bodies had their open braces on the
declaring line rather than on a line of their own.  Split some lines
up and joined others in the course of resolving.  Removed a stray
semicolon after a constructor body.

Change-Id: I492233ca8c499f13ebe4b7d63349382e5eaa1e19
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
2016-08-25 07:59:10 +00:00
Edward Welbourne
0971a46e50 tst_qnetworkreply: drop semicolon from end of do-while macro body
The whole point of this pattern is that the macro can be used with a
semi-colon after it and be a single statement; if it has a semicolon
in it, that makes it two (so, e.g., using it as the body of an if,
without braces, won't let you follow it with an else).

Change-Id: I57aca35898711ca24e10ddab73e075d361ef7eb8
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
2016-08-25 07:59:04 +00:00
Marc Mutz
e83f6aaaa6 QMimeProvider: fix quadratic loop
Calling QMutableListIterator::remove() in a loop constitutes quadratic
behavior (O(N) function called O(N) times).

Fix by splitting the loop, simplifying it by sharing conditions, and
using std::remove_if(), which is linear.

Removes one more use of mutable Java iterators.

Change-Id: I88bde414777b50996e546bc8cb238619ea4fb645
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: David Faure <david.faure@kdab.com>
2016-08-25 04:14:24 +00:00
Jake Petroules
8de6752496 Fix issue causing pch configure test to always fail
This fixes a regression introduced in
4a1bafcc4e.

Change-Id: Iafeec043c39af79cee8b53cf74dcd452c03a4826
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-08-24 20:36:05 +00:00
Marc Mutz
eee4167a90 Remove tests/auto/other/atwrapper
If it hasn't been ported to QNetworkAccessManager until now, it probably
doesn't add much value, so remove.

Found while looking for remaining QUrlInfo users.

Task-number: QTBUG-19452
Change-Id: I842f2cbd3ed4770096b06415f0c8b9fd8f1965c3
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Richard J. Moore <rich@kde.org>
2016-08-24 12:25:52 +00:00
Eskil Abrahamsen Blomfeldt
660c34077e DirectWrite: Fix crash when embedding empty glyphs in PDF
Empty QPainterPaths can have one move-to element, so the test
to detect this case was incomplete. For empty glyphs returned
from DirectWrite this would trigger a crash. This is only
reproducible after also enabling embedding of fonts with the
DirectWrite engine.

Task-number: QTBUG-54740
Change-Id: I3fbbfb8d958818550d5ab5234242d39688b84811
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2016-08-24 06:11:07 +00:00
Marc Mutz
dfd77567d0 QNetworkAccessBackend: remove unused fwd declaration
QUrlInfo is not used anywhere near QNetworkAccessBackend.

Change-Id: I1b6031a105b088b9442bc7d3cffb1598ecee8fbe
Reviewed-by: Richard J. Moore <rich@kde.org>
2016-08-24 04:31:07 +00:00
Jake Petroules
3379dc4c83 Remove obsolete mkspecs for macOS targets
macx-g++40 and macx-g++42 refer to very old versions of GCC that
virtually no one should be using, and macx-llvm refers to the
transitionary LLVM-GCC toolchain that is long gone from Xcode.

Change-Id: Id22ea417515b257babc5ad2a60c8f1fb6d6d1956
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2016-08-23 17:32:28 +00:00
Friedemann Kleint
95c767f5be Windows Font Engine: Fix MinGW developer build
Suppress warning:
qwindowsfontengine.cpp:590:26: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
Amends change ac1e87d9f3.

Change-Id: Ibd25c522aac8e946c5e0759ea20e023883622914
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2016-08-23 10:33:17 +00:00
Anton Kudryavtsev
057793a841 qdbusxmlgenerator.cpp: reduce allocations in typeNameToXml()
Don't create QString from QL1S, just iterate over QL1S directly.

Change-Id: I35196991224c206841efb11894a9baf736ead97e
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-08-23 05:08:05 +00:00
Jake Petroules
de2b626b34 Reorder directives in macOS mkspecs to match iOS, tvOS, and watchOS
Change-Id: Ic365f66908b97a18c72b732b73b65d77a28e91be
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2016-08-22 16:55:16 +00:00
Jake Petroules
8d9bab4752 Remove strange INCLUDEPATH from tvOS and watchOS mkspecs
This was probably a leftover that slipped past review for tvOS, and then
got accidentally carried over to watchOS. They serve no purpose as
there are no such named directories, nor does iOS have anything similar.

Change-Id: If2a0f592e83e07db1f3aace320e73046e824994b
Reviewed-by: Mike Krus <mike.krus@kdab.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2016-08-22 13:51:08 +00:00
Jake Petroules
67884d5016 Don't compile widgets on tvOS and watchOS by default
Widgets is not particularly useful on tvOS without significant work due
to the focus model, and widgets is completely useless on watchOS except,
theoretically, a platform plugin which displays its UI over the network.

Widgets is not particularly nice on iOS either but is at least usable so
it remains enabled there.

This is sort of a revert of b4ebb61c0d,
except that this now simply turns off the feature by default rather than
disabling its use entirely.

Change-Id: Ice4215c344da4568792f8b5356e11367bde6828f
Reviewed-by: Mike Krus <mike.krus@kdab.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-08-22 13:51:06 +00:00
Jake Petroules
0b9acb3e32 Move common/ios configurations into common/uikit
These actually affect all UIKit platforms (tvOS, watchOS), not just iOS.

Change-Id: I2b45ebecb10d11e33d301071093b5342ce101816
Reviewed-by: Mike Krus <mike.krus@kdab.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-08-22 13:27:14 +00:00
Oswald Buddenhagen
d314819fc0 Merge dev into 5.8
Change-Id: I41ee7b50534b01cf042bed8bb8824ba2e5026a29
2016-08-22 11:30:01 +02:00
Olivier Goffart
e0e9e196a7 Android: Show the edit menu when things are selected
Change-Id: I3647fa39469c87bcc08bb439546e5e61c535c71d
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2016-08-21 20:17:45 +00:00
Jake Petroules
89c235ca82 qmake: Also add bitcode flags to linker
This fixes errors linking against Qt when built as shared libraries and
with bitcode enabled (default on tvOS and watchOS).

Change-Id: I3eb3bb0b9615e0bc41e43ffae8645248dbf803c6
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Mike Krus <mike.krus@kdab.com>
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2016-08-20 00:32:07 +00:00
Jake Petroules
f6bd3623a2 qmake: enable bitcode also for iOS
It's optional but default in Xcode, and will probably become required

Change-Id: I6917a9cf15b48dbaee57f1a92ea47d68fb3c253a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Mike Krus <mike.krus@kdab.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2016-08-19 21:06:05 +00:00
Jake Petroules
57378a108c Add support for Apple watchOS
Change-Id: I3f9e00569458a463af2eaa5a3a16a6afd1e9c1ea
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2016-08-19 21:05:55 +00:00
Marc Mutz
2f108fafe9 tst_QSslSocket: clean up
- port Q_FOREACH to C++11 range-for
- port use of inefficient QLists to QVector
- port from QSharedPointer to auto variables except where the
  payload is returned from a function (there ported to
  QSharedPointer::create())

Fixes errors pointed out by my tree's static checks.

In sslErrors(), fixed an unwanted double-detach problem by
adding a strategic qAsConst().

Change-Id: I8148e23b73337f6f1a721e009f2974536d8447cc
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
2016-08-19 19:03:54 +00:00
Allan Sandfeld Jensen
9f888d2fde Support C++17 fallthrough attribute
Replaces our mix of comments for annotating intended absence of break
in switches with the C++17 attribute [[fallthrough]], or its earlier
a clang extension counterpart.

Change-Id: I4b2d0b9b5e4425819c7f1bf01608093c536b6d14
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-08-19 18:38:53 +00:00
Timur Pocheptsov
4c27221295 Refactor Http2::FrameReader/Http2::FrameWriter
Introduce  new entity: class Http2::Frame with accessors like
payloadSize/type/flags/streamID etc. (they actually read
/interpret raw bytes from a frame's buffer) instead of
duplicating this functionality in reader/writer classes.
Delete defaulted members and remove explicitly defined
move ctors/operators (not needed actually).

Update auto-test ('HTTP/2 server') to use these new classes.

Change-Id: Ie3516efbd095704e212142eef9e792323678ccfa
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2016-08-19 16:26:36 +00:00
BogDan Vatra
691dc71a01 Say hello to Q_NAMESPACE
Q_NAMESPACE is useful to add Q_ENUM_NS/Q_ENUMS, Q_FLAG_NS/Q_FLAGS and
Q_CLASSINFO to a namespace.

[ChangeLog] Added Q_NAMESPACE which can be used to add Q_ENUM_NS/
Q_ENUMS, Q_FLAG_NS/Q_FLAGS and Q_CLASSINFO to a namespace

Task-number: QTBUG-54981
Change-Id: Ic61b972794063e77134681fb347d6c4acddcdb44
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2016-08-19 15:41:27 +00:00
Anton Kudryavtsev
25dd9c521f qdnd.cpp: Extract Method imageMimeFormats
imageReadMimeFormats and imageWriteMimeFormats had
duplicated source code.

While touching the code, do some optimizations:
- use QStringBuilder more
- replace index based loop with 'range for'

Change-Id: I174456bf4e55e030930b9b5a4aaef57c722d8f05
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2016-08-19 12:08:23 +00:00
Lars Knoll
a1c782062c Don't compile dbus on iOS by default
The library compiles, but is not usable on iOS, so don't
compile it by default on that platform.

Change-Id: I49b687b526a2998250ff5b57f1ea3df30cf8d7a5
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2016-08-19 10:33:17 +00:00
Oswald Buddenhagen
8185fe84a6 fix up detection code for compiler defaulting to c++98
- remove the unconditional CONFIG+=c++11 from default_pre.prf, so the
  change actually has any effect
- fix up the description fields somewhat

this amends 091df96fb8, which was rushed in without maintainer review.

Change-Id: I88b859d6e2f0fe3d6a4771afe464a7c445e7b47b
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2016-08-19 09:25:48 +00:00
Alex Trotsenko
6f0814ab83 Micro-optimize QAbstractSocketPrivate::canReadNotification()
Remove unnecessary checks in release build. Refactor the code.

Change-Id: Ibee96790cbc8beb000757fc8e152fb4dcae9d506
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-08-19 08:16:16 +00:00
Allan Sandfeld Jensen
8ff2955f99 Add NEON optimization of rotated bilinear sampling
SSE2 has had a vectorized code-path for rotated sampling for a long
time, but the NEON version has been missing due to a bug in the original
commit. This patch reintroduces the NEON optimization.

Change-Id: I69d63b60faee9ebf5d69192acd680f35b9619a23
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
2016-08-19 08:05:49 +00:00
Jędrzej Nowacki
a23b71d2d0 Remove QPlatformCursorPrivate
It was unused.

Change-Id: I890fe2512355a691d693a26b599797a7dc7b06e2
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2016-08-19 08:04:43 +00:00
Oswald Buddenhagen
ce7df6ac7d add configure test result caching
Started-by: Lars Knoll <lars.knoll@qt.io>
Change-Id: I29bafc5913cf95d9908dbcdd9597df2258b69837
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2016-08-19 04:28:55 +00:00
Lars Knoll
b62a42dde1 Remove useless guards around #define's in qconfig.h
These are not meant to be overwritten by command line defines
anyway. Bad things could happen if they are not in sync with
the values in the pro files.

If you want to change them, reconfigure Qt.

Change-Id: Ic456e54b97e6909f01a4f4be33e3d7e2b2571e80
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2016-08-19 04:28:48 +00:00
Lars Knoll
3196527c1a Don't define QT_OPENGL_ES_2* in opengl.prf
Defining QT_OPENGL_ES_2 would only lead to conflicts with defines from
qconfig.h.
QT_OPENGL_ES_2_ANGLE also moves to the .pri.
QT_OPENGL_ES_2_ANGLE_STATIC is not used and is removed altogether.

Change-Id: I614fb00525ac696e066ac8328bb9bf61fca08a01
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-08-19 04:28:40 +00:00
Lars Knoll
fd89fb4566 Cleanup QT_NO_FONTCONFIG usage
Stop messing around with the define in pro files, and rely on
the configuration system. Disable fontconfig on Mac, which in practice
gives the same result as before.

Change-Id: Iea3aec127af96f221f4ee8682fb20a624332b82f
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-08-19 04:28:30 +00:00
Lars Knoll
e33a382c33 Add a qeventtransition feature
This replaces the QT_NO_STATEMACHINE_EVENTFILTER define, and
gives it a proper name.

Change-Id: I2b9386458224ff2bd30003daac548daa61961085
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-08-19 04:28:26 +00:00