Commit Graph

23950 Commits (1645bdcbcea84b7606c31d60914ca73dfb4f93fa)

Author SHA1 Message Date
Stephan Binner 1645bdcbce Drop dead qfiledialog_embedded.ui
Change-Id: Ia20fe65d08a8a477dc1c56ad5dcd3db5144c25a1
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2017-06-12 15:07:31 +00:00
Kai Koehne 107343c8f4 Doc: Tweak documentation about a default QHostAddress
Change-Id: I78deb7156900a3a0e79890062a40752b5d2561c3
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-06-12 14:53:06 +00:00
Kai Koehne adc7257141 Document QHostAddress::swap
Change-Id: I0f47ffeb1a7dbda7dadbd78b2ea04167c42a503d
Reviewed-by: Jesus Fernandez <Jesus.Fernandez@qt.io>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2017-06-12 14:52:38 +00:00
hjk 350698da99 QDialog: Fix typo in documentation
Change-Id: I0cbcd007976a974d7491595b59cc463f6443d4b0
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2017-06-12 10:19:52 +00:00
Oswald Buddenhagen e53a1c8bed prune obsolete use_libmysqlclient_r feature
it's not used since d5dc46d31.

Change-Id: I853aec26acddea52da419bd1b517c2fbe31203ed
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2017-06-12 09:55:43 +00:00
Leena Miettinen 237c867a00 Doc: Update widget style gallery topic
To avoid repetition, remove the individual style gallery topics.
Add images of the Styles and Calendar widget examples and use
them instead of individual images of each widget.

Task-number: QTBUG-5894
Change-Id: I1231824df60e39e8fb89ac2a764e12151636c019
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2017-06-09 06:58:02 +00:00
Frederik Gladhorn 98057fc6c5 Use upstream at-spi 2
Move at-spi dbus xml definitions into platformsupport, these files
simply describe the DBus protocol and should not be in 3rdparty.

The header files can just as well be picked up by pkg-config.

Change-Id: I326d9b3cb69223bf2c8646099f211d9a9f3fa0af
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-06-09 06:09:45 +00:00
Christian Strømme da104aa308 Android: Remove no-op call to processEvents()
The call does nothing as it's always called from the Android thread,
meaning there are no events, or even eventloop.

Change-Id: I6c03b6ebe74bc52af45bc295b42aa01ad6d51157
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2017-06-08 22:34:59 +00:00
Christian Strømme 235b4cac1d Android: Remove unused struct
Change-Id: Iddb4fec951c4dfa8c1052fb18ed62504d28a4792
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2017-06-08 22:34:52 +00:00
Christian Strømme b684ed6bd7 Android: Properly update geometry once the platform plugin is ready
This is amends commit 9091a058bc to make sure we don't drop
geometry updates that are set before the platform plugins is ready.

Task-number: QTBUG-60963
Change-Id: I4489eb9329bb8983458ad328a43b85382bba3cf6
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2017-06-08 15:44:21 +00:00
Chris Wilson 147aa29162 Fix sending UTC-offset QTimeZones through QDataStream
QTimeZone("UTC") should be valid, as "UTC" appears in the list of
availableTimeZoneIds(), and tst_QTimeZone::dataStreamTest() constructs
timezones like this, which are considered valid.

The internal representation of a QTimeZone("UTC") as created by
QTimeZone::QTimeZone(const QByteArray &ianaId) is a QUtcTimeZonePrivate
which isValid(), so the containing QTimeZone isValid() too.

When QTimeZone is serialized into a QDataStream, it calls
tz.d->serialize(ds) which is QUtcTimeZonePrivate::serialize. This
writes QStringLiteral("OffsetFromUtc") followed by the IANA ID and
the offset (etc.) to the datastream.

When QTimeZone is deserialized it looks for this marker string, and if
present, it passed all of the parameters to the QTimeZone constructor
(not just the name). However, that constructor does not support standard
IANA timezones (only custom ones), and when it detects that the supplied
IANA ID is actually listed in availableTimeZoneIds(), it leaves the
pointer to the QTimeZonePrivate uninitialized (NULL), which leaves
the QTimeZone invalid (isValid() returns false).

Thus, a valid timezone which was serialized and then deserialized has
become invalid. This also affects serialization of QDateTimes with
timezones.

Fixed by calling the name-only constructor first, which works (only) for
IANA standard timezones and leaves the QTimeZone invalid (isValid()
returns false) otherwise. In which case, we can call the many-argument
contructor to create a custom timezone with the same offset as the one
which was originally serialized.

[ChangeLog][QtCore][QTimeZone] Fixed sending IANA standard UTC-offset
QTimeZones through QDataStream, which previously came out invalid after
deserialization.

Task-number: QTBUG-60595
Change-Id: Id9c47e8bda701faae4d800e012afb6db545b2fe9
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2017-06-08 08:34:31 +00:00
Kai Koehne 86a948fc0f Document that QLoggingCategory is thread-safe
Task-number: QTBUG-60475
Change-Id: Idced5e1a8ad1d2d28839fd23126a7bf084141eca
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2017-06-08 08:05:05 +00:00
Marc Mutz 0793dd90d6 QKeySequence: fix size mismatch
'accel' is 'str.toLower()' and as such may have a different size, so don't
use str.size() to index into 'accel'.

Change-Id: I6a140ded45ecedd811b9618e1facb63d522eb235
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2017-06-08 07:39:48 +00:00
Friedemann Kleint df32c9a112 Windows QPA: Port to new feature system
Replace all checks for DEFINES in windows.pri by proper
configure system checks as they no longer seem to work.

Task-number: QTBUG-61192
Change-Id: I625c9de0812fd376d06eacb065d3a32a499b6b00
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2017-06-08 07:39:00 +00:00
Liang Qi e1a0730448 QPlainTextEdit: not show place holder when having preedit string
Task-number: QTBUG-61210
Change-Id: I4891c21fc4e1923b5929defeacab26114c00a7e3
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
2017-06-08 04:05:10 +00:00
Jake Petroules 510d18d7ae Update for the newest Darwin-family operating systems
Change-Id: Id6533c8a444854f6215f6e47000875ef9751905b
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-06-07 17:45:41 +00:00
Allan Sandfeld Jensen dd8313d5be Translate the adjusted deviceWindowRect with an adjusted offset
Otherwise the mismatched device pixel ratio will lead to incorrectly
offset blitting.

Task-number: QTBUG-59017
Change-Id: Iccbe9cd9704bccbceda4c8dafe87435b68b5cf3e
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2017-06-07 17:23:51 +00:00
Thiago Macieira d254d8c197 Use the C++ [[nodiscard]] attribute
Change-Id: I7814054a102a407d876ffffd14b6a285c70b21de
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-06-07 15:54:31 +00:00
Thiago Macieira 6ae801875e Re-fix the detection of CPU architecture on an Apple OS
Commit d56c6cf7a4 was incorrect. It was a
nice try, but on a 64-bit Mac machine (x86_64 CPU), it returned
hw.cputype = 7, which is CPU_TYPE_X86. CPU_TYPE_X86_64 is only used in
Mach-O slices for fat binaries and does not reflect hw.cputype.

Task-number: QTBUG-61205
Change-Id: Ia3e896da908f42939148fffd14c54b3050b8e64b
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2017-06-07 15:54:14 +00:00
Thiago Macieira bc93ee060a Help GCC understand that variable is never used unintialized
qformlayout.cpp:1982:14: error: ‘role’ may be used uninitialized in this function [-Werror=maybe-uninitialized]

The variable role is never used uninitialized because the access is
protected by the check for row != -1. The only condition under which
QFormLayout::getItemPosition will leave role unset is if it sets row to
-1. Since row == -1 ←→ col == -1 ←→ storageIndex == -1, we can simply
change the variable that we check here and the warning goes away.

Change-Id: Ia3e896da908f42939148fffd14c4ace6e40a808e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2017-06-07 15:54:03 +00:00
Sérgio Martins 0265a23bb0 Fix crash when calling QWidget::grab() on a QOpenGLWidget
By avoiding unneeded nested QPainters.

Crash was:
ASSERT: "s" in file /data/sources/qt/qt5/qtbase/src/gui/painting/qpaintengine_raster.cpp, line 2239

s was nullptr because the inner QPainter had called updateState(0), which is then dereferenced by the outer QPainter.

Task-number: QTBUG-61036
Change-Id: I7aad648f805f1abac4d38dfbefa2292da8b52af4
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2017-06-07 14:49:13 +00:00
BogDan Vatra e8ea1edd89 Android: Fix deadlock when calling requestPermission
The hang happend when using QtAndroidPrivate::requestPermissions before
the QApplication::exec. Android UI calls "sendRequestPermissionsResult"
which was blocking until the event is delivered, but the qt main loop is
blocked and waits for the main surface to be created by the Android UI
thread which is already blocked.

With this patch sendRequestPermissionsResult won't block for the result
to be delivered.

Change-Id: I48ada65fe9ea63471ab46d8a9d839ba1b91d17b3
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
2017-06-07 13:01:40 +00:00
Eirik Aavitsland d31deab632 Fix QImageReader::supportedSubTypes()
Because of inverted test logic, this function would always return an
empty list.

Task-number: QTBUG-61048
Change-Id: If1529f2c567069ab4b672f309268b4edaf84c42f
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2017-06-07 12:31:21 +00:00
Tor Arne Vestbø 744fd39e66 xcb: Don't destroy foreign windows
We can't rely on virtual dispatch in the destructor.

Task-number: QTBUG-61140
Change-Id: Ib1026caf126095778c24254775cb5a0bfecf3a38
Reviewed-by: Fabian Vogt
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
2017-06-07 12:06:27 +00:00
Olivier Goffart 94a2aec05b moc: Don't error out when defining a keyword
Normaly, in C++ It's not valid to define a keyword, but it turns out that some
system header do, so we just silently accept it.

[ChangeLog][moc] moc no longer errors out if a C++ keyword is #define'ed

Task-number: QTBUG-61204
Change-Id: Ia4d3ff9c77b6ff261b6140c220cfb81bd13f1d6d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-06-06 22:53:07 +00:00
Jani Heikkinen 934235e967 Revert "moc: remove _MSC_EXTENSIONS #define"
It seems this change is preventing us to integrate qt5.git in '5.9'

This reverts commit c3030d7163.

Task-number: QTBUG-61204
Change-Id: Id98afaa23be0a8dd6f2c54a899f46542c65436aa
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2017-06-05 09:00:54 +00:00
Thiago Macieira d56c6cf7a4 Work around uname(2) on Apple mobile OSes not returning the proper arch
Task-number: QTBUG-61205
Change-Id: Ia3e896da908f42939148fffd14c46fc991650f6f
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2017-06-05 06:33:52 +00:00
R.J.V. Bertin 6e97d091e4 define QT_NO_EXCEPTIONS reliably when using Clang
Clang's definition of the __EXCEPTIONS macro is inconsistent across
platforms. When compiling for Darwin, Clang 3.6 and newer will set the
token when exceptions are enabled in either C++ or ObjC. This change
adds the reliable check described in the Clang 3.6 release notes to
ensure that QT_NO_EXCEPTIONS is defined when required.
The check requires the use of the Clang-specific __has_feature()
syntax for which a new proxy macro QT_HAS_FEATURE(x) is added in
qcompilerdetection.h

Task-number: QTBUG-61034
Change-Id: Ie7b482dfa1a4a5b700a6b97562c26b626be1fc04
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-06-03 07:22:06 +00:00
Thiago Macieira e4eaa62943 Disable bogus GCC 7 warning about string op overflow
Analysis proves this is a false positive:

 qarraydataops.h:69:17: error: ‘void* memset(void*, int, size_t)’: specified size between 18446744056529682436 and
 18446744065119617024 exceeds maximum object size 9223372036854775807 [-Werror=stringop-overflow=]

Change-Id: I7814054a102a407d876ffffd14b6ab0be9e222fc
Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-06-03 03:35:54 +00:00
Timur Pocheptsov 4fb1745639 Ssl socket - fix broken certificate verification
On iOS QSslConfiguration always has an empty list of system CA certificates.
Calling SecTrustSetAnchorCertificatesOnly(.., TRUE) on iOS  results in
SecTrustEvaluate failing to verify a valid certificate, since there
are no 'anchors' at all. We can use SecTrustSetAnchorCerificatesOnly(.. TRUE)
on macOS only, where we do extract/copy system certificates using
SecTrustSettingsCopyCertificates and save them in a QSslConfiguration's
list.

Task-number: QTBUG-61053
Change-Id: I70d4e46273d78414baaac8531273def707c3eebc
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2017-06-02 12:34:22 +00:00
Oliver Wolff 91ef71b7bf winrt: Get rid of one deferral when handling socket data
Instead of defering one more time by emitting the signal, we can add
the data to the list of available data/pending datagrams. For TCP
readNotification can be invoked directly so that emission of the
readyRead signal is tightly coupled to the availability of new data.
For UDP sockets calling readNotification directly stops handling of
more data and thus cannot be done.

With the old approach it was possible, that the last bit of TCP data
was lost, because the socket was closed while the data was still being
processed/transferred from the worker to the engine.

Task-number: QTBUG-61078
Change-Id: I9330b87876be853d310dc9e8e817ab344939d5dd
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
2017-06-02 12:30:25 +00:00
Allan Sandfeld Jensen 8c620d24bb Fix semi-opaque linear gradient on ARGB32
The qt_gradient_argb32 routine optimizes linear gradients with the solid
blend routines that is ARGB32PM only. If the gradient is not solid, it
will not get unpremultipled on write like it should for ARGB32.

Covered by lancelot, but the change is less than 5%.

Change-Id: Id99f2fa125cc091f3b5b29ec2d06618785d628fa
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
2017-06-01 12:00:59 +00:00
Giuseppe D'Angelo 49fc750ee4 QStringLiteral/QByteArrayLiteral: fix/add documentation
Various editorial fixes. Also, in 5.9 QStringLiteral does
not fall back to fromUtf8 any longer, but guarantees
a compile-time construction.

Change-Id: Ida4698cf8e32a6e3de97b2c16b997fc9630c9db9
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2017-06-01 10:21:48 +00:00
Leena Miettinen 22a52d1d64 Doc: Remove references to screenshots illustrating different styles
... from widget class descriptions.

Use one screenshot from Windows instead.

The styles change and the screenshots become outdated very fast, so
it is easier to update just one screenshot now and then. The styles
can still be seen in the style gallery topics.

The image files will be removed in a follow-up commit after all
references to them have been removed.

Change-Id: Id326c141f4884a2e4f67a4fe8681d8c65f8b24ba
Reviewed-by: Martin Smith <martin.smith@qt.io>
2017-06-01 10:08:36 +00:00
Leena Miettinen 96d6e03163 Doc: Fix a typo in QVariant::toPoint docs
Task-number: QTBUG-61050
Change-Id: I517f95df9d1019d37b6484e00220e8e325ee2ecf
Reviewed-by: Martin Smith <martin.smith@qt.io>
2017-06-01 10:08:12 +00:00
Oliver Wolff 61f67c12fa winrt: Use styleHint as clue for fallbacks for font families
Similar on how it is done for Windows desktop we also use the given
style hint when building the list of fallbacks a font family.

Change-Id: I71378581d07f20ebe5bf0bc757bba919cc70e118
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
2017-06-01 08:23:51 +00:00
Thiago Macieira c214c000cc qEnvironmentVariableIntValue: fix the case of a non-numeric value
The documentation says that it's equivalent to
    qgetenv(varName).toInt()

But the implementation wasn't. QByteArray::toInt() verifies that the
entire string was consumed, so QByteArray("1a").toInt() == 0, but
qstrtoll alone doesn't. That is, qstrtoll("1a", ...) == 1.

The implementation also detected the base, a behavior I kept. Instead, I
updated the documentation.

Change-Id: I0031aa609e714ae983c3fffd14676ea6061a9268
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2017-06-01 06:02:10 +00:00
Liang Qi e3bc01b0e3 Merge "Merge remote-tracking branch 'origin/5.9.0' into 5.9" into refs/staging/5.9 2017-05-31 18:54:04 +00:00
David Faure f33cf18d88 QAbstractItemModel::supportedDragActions: fix regression
This method now returns -1 by default, due to commit 6255cb893d
which mistakenly replaced -1 with Qt::IgnoreAction (0x0).

As a result, dropping is forbidden in a number of applications
(I detected this in zanshin).

Change-Id: I4922451216e08d5d3fe36f8ba87364a361b691bf
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2017-05-31 18:54:00 +00:00
Friedemann Kleint c76b0c87b0 Revert "Win: If the combined key is unknown then fall back to the original key pressed"
The change has been found to break Ctrl+C/V shortcuts when
using a Russian keyboard layout.

This reverts commit c6ecbd4762.

Task-number: QTBUG-61086
Change-Id: I0dce708b1a65b08ea10317d723c38b0414cbac7f
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2017-05-31 18:53:53 +00:00
Oswald Buddenhagen 09e2fc43ab fix configure PSQL_*= being ignored
make qtConfLibrary_psqlEnv() fall back to qtConfLibrary_inline() if
$PSQL_LIBS is not set.

Task-number: QTBUG-59521
Change-Id: Ie293e8bfaa3e113ede166243b345833973cc66f8
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2017-05-31 12:57:19 +00:00
Liang Qi 7ee80242de Merge remote-tracking branch 'origin/5.9.0' into 5.9
Change-Id: I2d7a3f3a80e6287e135e55b650f74f9a540332bc
2017-05-31 08:11:37 +02:00
Tero Alamäki 27f0d8db91 Fix qpa/kms test with Vibrante 4.1.6.0 on INTEGRITY for Drive CX
Change-Id: I44ae001dc9f96ea8819a56a87be9322326dbbb4b
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-05-31 05:13:05 +00:00
Thiago Macieira fa3940cc4b QStorageInfo: Pass MNT_NOWAIT to getmntinfo
This forces the API not to wait for synchronous I/O from the filesystems
and get the information, but instead just use the cached information
directly. It's a good idea if we have an unresponsive FS, like NFS with
an unreachable server.

Task-number: QTBUG-61096
Change-Id: Iddeeffb6f4ad4a2894a2fffd14c32f6e90664a63
Reviewed-by: Tobias C. Berner
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2017-05-30 17:29:21 +00:00
Stephan Binner dbeb748de3 Convert features.printdialog to QT_[REQUIRE_]CONFIG
Change-Id: Ifb016ae2a0986b436f788b34513c81ea91f3804a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-05-30 17:21:26 +00:00
Stephan Binner f209215c0d Convert features.printpreviewwidget to QT_[REQUIRE_]CONFIG
Change-Id: I7e38179acd93bf8c7c48c79ff5e304d893460758
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-05-30 17:21:17 +00:00
Stephan Binner e0b39313b0 Convert features.printpreviewdialog to QT_[REQUIRE_]CONFIG
Change-Id: If38d70b1e098c0cc680b913b2c4087681ad2a41e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-05-30 17:21:12 +00:00
Stephan Binner 18e5d10426 Convert features.cups to QT_[REQUIRE_]CONFIG
Change-Id: I189134b41c4f6e4ac42b5e47ae79338c744b581d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-05-30 17:21:07 +00:00
Jüri Valdmann 8632614947 QSslCertificate: don't init() if SSL is not supported
QSslCertificate used SSL without checking if SSL is available.

This patch adds such checks to the constructors.

Change-Id: Iea298aded5966641327e22e41ad4665a3d0ec5d3
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2017-05-30 17:12:59 +00:00
Olivier Goffart c70c1d54f4 QStackedLayout: Fix UB (invalid cast) in qt_wasDeleted()
Fixup of commit b4995eb749.
We can't call QWidgetPrivate::get(w) on a deleted QWidget, because of
the call to the member function QWidget::d_func. We can however call
QObjectPrivate::get since we still are in the QObject destructor.

tst_qstackedlayout now pass without ubsan Warnings.

Change-Id: I4e839a97ddbd1cf21435a8fca76523b98a1f7d9b
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2017-05-30 16:57:30 +00:00