Commit Graph

33942 Commits

Author SHA1 Message Date
Laszlo Agocs
6ada5f876e eglfs: Forward nativeRes.ForInteg.() to backends
Expose the fd from eglfs_kms. More exposed bits will follow
later on.

[ChangeLog][Platform Specific Changes][eglfs] The DRM+GBM backend
now exposes the DRM/GBM device handle under the key "dri_fd",
queriable via nativeResourceForIntegration().

Task-number: QTBUG-63088
Change-Id: Iac95393c115bb83d1f65cb4a7acc0ea3e7d3e68f
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2017-09-19 09:21:59 +00:00
Laszlo Agocs
c6439a00b1 eglfs: Allow forwarding platformFunction() to backends
Task-number: QTBUG-63088
Change-Id: I52cc56324c755cc4f7c9388470bfd27793b4abeb
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2017-09-19 09:21:55 +00:00
Laszlo Agocs
d47475bf65 eglfs_kms: Move out window subclass from integration
Clean up the includes too while we are at it.

Task-number: QTBUG-63058
Change-Id: I36eaaa5fc18219ca271b6bea8425ac8cc7cb8b6d
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2017-09-19 09:21:50 +00:00
Laszlo Agocs
9273044567 kms: Fix crtc allocation logic
The intention of choosing a different CRTC for each connector is fine,
but the code is flawed: the bitmask thas marks used crtc must be based
on the crtc index, not the id.

In practice the fix makes a difference only when multiple connectors
are in use and there are crtc ids above 31.

Task-number: QTBUG-63058
Change-Id: I74e01add72df9c6e0b8fbddab978c102573a282c
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2017-09-19 09:21:46 +00:00
Laszlo Agocs
d6c828c65a kms: Rename the plane index workaround vars appropriately
...and purge support from eglfs_kms. That path never worked, the environment
variable was meant for the NVIDIA backend only.

Task-number: QTBUG-63058
Change-Id: I8cf47168d5878e18eb22c839d56e2d48cbb4fdad
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2017-09-19 09:21:38 +00:00
Allan Sandfeld Jensen
6c4a1914e0 Hide ibus IM on password fields
We haven't hooked on any of the properties to tell ibus IMs the type of
field or that it should be hidden, so hide it like is standard.

Change-Id: Iaa64c669f7162b60c16971ec962101b974108e65
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
Reviewed-by: Liang Qi <liang.qi@qt.io>
2017-09-18 22:20:05 +00:00
Thiago Macieira
4e30001e5f Mark Clang 5.0 as warning-free
Change-Id: I27b55fdf514247549455fffd14b17a4ae1d8ff2d
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2017-09-18 21:21:15 +00:00
Andy Shaw
3c95c748e0 Fix recordOCI() test to treat clob/nclob as QByteArray
Change-Id: I0315b23dad66f98fc681c624d4afa8b5abb54a7b
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-09-18 21:06:49 +00:00
Andy Shaw
2d168af7d7 OCI: Use correct type for getting doubles
Change-Id: Iffb81a37a517e58d48757d82f93f20e8c5100033
Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
Reviewed-by: Jesus Fernandez <Jesus.Fernandez@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-09-18 21:06:42 +00:00
Jake Petroules
83122b1932 Remove unnecessary VxWorks ifdef
Change-Id: Ie655bdff9a09c6060f66e4346b94ba52443241f4
Reviewed-by: Tuomas Heimonen <tuomas.heimonen@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-09-18 21:06:25 +00:00
Jake Petroules
54a242f7ed Add missing pwd.h include
This file uses functions declared in this header, and it is not pulled
in transitively on all platforms.

Change-Id: I6654118883a8dc22dacf1beb7b9b1c662719d25c
Reviewed-by: Tuomas Heimonen <tuomas.heimonen@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-09-18 21:06:21 +00:00
Thiago Macieira
9378bce442 Port QSemaphore to use futexes
This is interesting because QSemaphore now needs to allocate no memory:
it's just a simple 31-bit counter and the contention flag.

Change-Id: I6e9274c1e7444ad48c81fffd14dbc0ab42bc2e00
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-09-18 17:39:09 +00:00
Thiago Macieira
5b5153fd5b Move the futex implementation to a header
So I can use it in QSemaphore and provide a Windows implementation.

Change-Id: I6e9274c1e7444ad48c81fffd14dbc0a8e2201302
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-09-18 17:39:08 +00:00
Giuseppe D'Angelo
6011e8a9eb QRegion: explain why there's an apparently unused variable
The variable is there to work around an aliasing issue.
Since this code is likely coming straight from Qt 2 or 3,
I'm not doing any major modification, just explaining why that
variable is necessary and mark it as unused (so that a static
analyzer that knows about value classes won't complain that
we're creating a QVector without using it).

Change-Id: Ie8777563724ec3c0bf97d8bc24e1b184fe26bd2f
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Reviewed-by: Sérgio Martins <sergio.martins@kdab.com>
2017-09-18 15:13:53 +00:00
Jake Petroules
69b16a46e8 Exclude QSystemSemaphore test with -no-feature-systemsemaphore
Change-Id: I9db6b68c3d26b27a0203c68c48ab73602eb15095
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
2017-09-18 08:56:53 +00:00
Giuseppe D'Angelo
0d409f2d4e ModelTest: cleanups
In preparation to move the code into QTestLib proper.

* Move to PMF-based connect() statements
* Remove a bunch of commented out code
* Streamline the logging of debugging / warnings, use categorized logging

Change-Id: Iec0872b63959decce49487762472c9a82bcc9fa1
Reviewed-by: David Faure <david.faure@kdab.com>
2017-09-17 21:27:58 +00:00
Giuseppe D'Angelo
fc208838ae QScopedPointer: add get()
For self-consistency with QSharedPointer and minor consistency
with std::unique_ptr (although QScopedPointer isn't movable, so we
can't claim STL compatibility with it).

[ChangeLog][QtCore][QScopedPointer] Added get().

Change-Id: Ib58f936afa0e0d5bce57a61d1467b69956f37ceb
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-09-17 11:42:26 +00:00
Giuseppe D'Angelo
81a19050d8 QSharedPointer: fix undefined behavior in operator<
Pointers belonging to different arrays must be compared using
std::less.

Change-Id: Ib77af7b1b2da58d7243fa77273a8a45ee9035a1a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-09-17 11:41:40 +00:00
Jake Petroules
2740b9d668 Use QT_LSTAT instead of lstat directly
Not all platforms (such as VxWorks) have lstat.

Change-Id: If42f0041f9a6d9bec0a355173c88f28f1819bd57
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-09-15 20:52:23 +00:00
Giuseppe D'Angelo
72f700edd6 tst_qidentityproxymodel: map the index to the source model
In data(), index belongs to the proxy, not to the source. It needs
to be mapped back to it first.

Change-Id: Ie5dcbf13166dadf62f3d85b594d3227383132521
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2017-09-15 13:52:10 +00:00
Shawn Rutledge
d0e93b128d iOS: disable Apple Pencil support if configure -no-feature-tabletevent
Task-number: QTBUG-59042
Change-Id: Ia60cb01206316ae85fffac44c453803f39d3a611
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2017-09-15 12:13:58 +00:00
Shawn Rutledge
0d51767b5d Tablet example: update only the drawn areas of the canvas
This makes an enormous difference in responsiveness on the iPad Pro:
it actually feels like real-time drawing with hardly any lag.

Change-Id: I17c3b948e818d4ee46b4d24934c929ab9b386e69
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2017-09-15 12:13:51 +00:00
Jake Petroules
7127202358 Exclude tst_QDir::mkdirOnSymlink on Unix platforms without symlinks
One example is VxWorks.

Change-Id: I253df715a9417c1f9cede79b1e1860924e0da8a9
Reviewed-by: Tuomas Heimonen <tuomas.heimonen@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-09-15 11:20:32 +00:00
Jake Petroules
ceffc7e0e7 Exclude DBus performance test with -no-feature-process
Change-Id: I3e650b21139bd59b1f8386f4abb39aadf85e412f
Reviewed-by: Tuomas Heimonen <tuomas.heimonen@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-09-15 11:20:21 +00:00
Lars Knoll
c248a1fa57 Fix compilation with clang 4 on Linux
Change-Id: I7fdafeced7cdef7a97b4e004e9302cb2f1e6f258
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2017-09-15 10:29:06 +00:00
Robert Loehning
2d7b143085 Fix conditions in some QMAKE_COMPILER_DEFINES assignments
We obviously should check the variable we're about to get the data from.

Amends 1216f596bd.

Change-Id: Ibe87138b9c9aa99837b4fbf3769cd26ca1aaacb9
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2017-09-15 09:03:12 +00:00
Friedemann Kleint
c23c4a921d Fix documentation code snippet of QString::arg(QStringView)
Fix qdoc warning:
src/corelib/tools/qstring.cpp:7809: warning: Command '\snippet (//! [11-qstringview])' failed at end of file 'qstring/main.cpp'

Change-Id: Ie5a57bd94ba64ceab5179593f1df35be29c9985a
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2017-09-15 07:46:00 +00:00
Shawn Rutledge
b87a2b3508 Add Apple Pencil support on iOS
The Apple Pencil now generates QTabletEvents, with tilt, rotation and pressure.
Predicted touches are not supported, because we don't yet have a suitable
QEvent or flag for that.

[ChangeLog][iOS] The Apple Pencil now generates QTabletEvents, with the
complete feature set (tilt, rotation, pressure).

Task-number: QTBUG-59042
Change-Id: Id58e22ac4cf8dfa80519d516c388309966f773f9
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2017-09-14 15:05:50 +00:00
Thiago Macieira
5d48143ff8 Autotest: use QUdpSocket instead of QTcpSocket in tst_QNetworkInterface
We don't need to bother the network test server with a TCP SYN packet.
All we need is for the local operating system to figure out the IP
address it would use to send a packet to the test server. We can do that
with QUdpSocket.

Also, the network test server hasn't been called "fluke.troll.no" for
almost a decade.

Change-Id: I209fcd5dbc2b4e5381cffffd14df65ccc7133247
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2017-09-14 13:17:02 +00:00
Timur Pocheptsov
6aa001570d Fix OpenSSL 1.1 build
Fix the 'shared' OpenSSL code for those our users who build with QSSLSOCKET_DEBUG
defined and OpenSSL 1.1 detected: the preprocessor-excluded fragment is using old
API. Also remove never used in this file (and commented out) macro.

Task-number: QTBUG-63170
Change-Id: Id24ccf2955f0a65e4f1dea1ecb06e10245105080
Reviewed-by: Jesus Fernandez <Jesus.Fernandez@qt.io>
2017-09-14 12:18:34 +00:00
Tobias Koenig
62ea3eaf05 Improve PDF/A-1b support in QPdfWriter
Fix warning of missing F key in Annot directory. The F key needs
to have the printing flag (bit 3) enabled and all other bits disabled.
(Clause 6.5.3 in ISO 19005-1:2005)

Change-Id: Iddba6b71f516aca75cd573584aa184c1b808863d
Reviewed-by: André Klitzing <aklitzing@gmail.com>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-09-14 11:56:54 +00:00
Joerg Bornemann
342609b542 Fix quoting of mocinclude.opt for paths containing spaces
If MOC_INCLUDEPATH exceeds a certain limit, its content is written into
a file named mocinclude.opt, which is then passed to moc as a response
file. That moc parameter was not properly quoted, and the moc call
failed for paths containing spaces.

Task-number: QTBUG-63197
Change-Id: Ib0542d80ce1bab239e0e6b6e24fadd11007b1846
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-09-14 11:22:49 +00:00
Michael Winkelmann
3d67793a9e Revamp SQL examples to C++11
Changed signals and slots to new syntax, used nullptr and replaced
foreach with new C++11 range based for loops.
Also fixed a few minor flaws.

Task-number: QTBUG-60633
Change-Id: Ice4030133971912f96752d9d84c638c70fd73e35
Reviewed-by: Jesus Fernandez <Jesus.Fernandez@qt.io>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2017-09-14 10:48:48 +00:00
Allan Sandfeld Jensen
590e71a69c Fix convertToFormat with color-tables
The function was only well defined from RGB32 and ARGB32PM formats,
this patch fixes it so it behaves well from all formats.

Task-number: QTBUG-63163
Change-Id: Id892531d9aaf997b707b430196c1166493792a2a
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
2017-09-14 08:13:46 +00:00
Lars Knoll
b6e99ec056 Optimize QVariant::cmp()
Don't always copy the variants that we want to compare. This can
in some cases be a relatively expensive operation.

Change-Id: I2b3fd246ac136b19d8a8d281fbdcfb0417c8fb6c
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
2017-09-14 06:27:56 +00:00
Thiago Macieira
84fcc38955 Autotest: when using libproxy, QNetworkProxyFactory isn't generic
Looks like whoever created the blacklist never tried to figure out why
it happened.

Change-Id: I84e45059a888497fb55ffffd14d2fb29e32a4521
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2017-09-13 18:42:44 +00:00
Mårten Nordheim
1394610c79 Workaround for proxyChange failing when run alone
The issue itself is not really worth fixing (the very first request
being supposed to have a different proxy than any of the other
following requests before a session has been initiated), but we can
at least make the test pass when it is run alone.

Task-number: QTBUG-63134
Change-Id: I6c7df5c5653541031811e6bff562572061afae0f
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2017-09-13 18:42:30 +00:00
Thiago Macieira
306a6b9dec QNativeSocketEngine: Simplify nativeHasPendingDatagrams()
We don't need the sockaddr structure.

Change-Id: I6e9274c1e7444ad48c81fffd14da826387d72f83
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2017-09-13 16:19:56 +00:00
Thiago Macieira
a9ff368ac7 QNativeSocketEngine: reduce memory usage in nativePendingDatagramSize()
The Windows implementation had the right idea: by using a chunked read,
we can tell the OS to reuse the same buffer over and over, so we don't
need to grow a buffer to the size of the datagram when peeking. This
commit implements that strategy on Unix and changes both implementations
to start at 1500 bytes instead of 8192 (1500 is more than enough for
almost all datagrams we're going to receive).

Let's also not use a static buffer, but a stack-based one. No need to
dedicate 1500 (or, worse, 8192) bytes for something that is only seldom
called.

Change-Id: I320d9d2f42284a69a4cbfffd14dd92a6775bf28b
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2017-09-13 16:19:54 +00:00
Thiago Macieira
3b61cd6ad7 QStringView: De-inline the length calculation so we can use SSE2
Performance is more important in this case than the theoretical benefit
of constexpr. This commit implements the SSE2 search for 16-bit null and
it might be possible to implement the equivalent for AArch64
(investigation required). It also adds a fallback to wcslen() for
systems where wchar_t is short (non-x86 Windows or 32-bit x86 build with
-no-sse2).

We can re-add the constexpr loop once the C++ language has a way of
overloading constexpr and non-constexpr. GCC has a non-standard way to
do that with __builtin_constant_p, which is also implemented in this
commit, but note that the inline function is still not constexpr.

Change-Id: I6e9274c1e7444ad48c81fffd14dcaacafda5ebdc
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-09-13 16:19:45 +00:00
Andy Shaw
793f0ddec2 Win: Handle installation of read-only target files correctly
When the source file is read-only then it would copy the file with that
attribute set when it is installed. However this will cause a problem
if it is installed a second time. Therefore the read-only attribute
needs to be manually reset before installing and again before touching
the file. Once the process is done then it is set back to be read-only
to preserve the state of the original.

Change-Id: I1c01f418ef3c9bd434acd2c2b8ee695544d7bb35
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-09-13 12:45:35 +00:00
Ulf Hermann
3b5b8f1d4a QXmlStreamWriter: Avoid writing invalid characters
Some valid UTF-16 characters cannot be expressed in XML 1.0 and a
QString may contain invalid unicode. In both cases we should not write
the respective data to the output stream, as that generates invalid XML,
which then cannot be read back by QXmlStreamReader. In addition we
should report an error if we encounter them.

The change filters the incorrect strings from the output and introduces
an "encodingError" flag which is reported from hasError().

[ChangeLog][Important Behavior Changes] Characters invalid in XML, such
as 0x0 or 0xfffe, as well as strings containing unmatched UTF-16
surrogates are now suppressed from the output of QXmlStreamWriter and
cause the error flag to be set.

Task-number: QTBUG-63150
Change-Id: Ia29bab768fed9681dd68e8934da2a7e3fcdfc3cd
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-09-13 07:29:00 +00:00
Lars Knoll
1d5e55c2a3 Improve performance of QVariant::canConvert()
Add an early check if both types are the same.

Change-Id: If6fc60a58fce641521c083bf920e72bf3d2d4c28
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-09-13 06:48:58 +00:00
Thorbjørn Lund Martsum
9ad0e09f5b QMenu: Fix size on high DPI + multi screen
When calculating item sizes (used for menu size)
the styles consider the widget screen. This widget
screen could be a wrong default or an obsolete value.
This patch ensures the screen is correct set on popup.

[ChangeLog][QtWidgets][QMenu] Fixed menu size issue when
using high DPI on multi-screen system.

Task-number: QTBUG-59794
Change-Id: I84461441d5d33cb8dc04ab1acb9630fbfc8c5514
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Morten Kristensen <msk@nullpointer.dk>
Reviewed-by: Per Liboriussen <liborius@chelys.dk>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
2017-09-13 06:35:40 +00:00
Christian Stenger
01ea60fdd2 Testlib: Do not list unsupported option
This option is listed when displaying the help of Quick tests,
but was never actively supported as it had been removed before
Qt5.0 was finally released.

Change-Id: I4cdf8d86471ab72e289f27a07a5f04c0338bfdbd
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2017-09-13 06:27:54 +00:00
Stephan Binner
79bf70b5b6 Convert features.slider to QT_[REQUIRE_]CONFIG
Change-Id: I03adb5e34071aa106bbfe7caa2d41a93e8d1e263
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-09-12 18:13:28 +00:00
Stephan Binner
710a9180c1 Convert features.lineedit to QT_[REQUIRE_]CONFIG
Change-Id: I509977994b11a7fc0c109bfcc83aadeee6c9b0b8
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-09-12 18:13:14 +00:00
Stephan Binner
df99fbdbed Convert features.spinbox to QT_[REQUIRE_]CONFIG
Change-Id: Idecb6927c20ff009795b0ad94bbb7199df98a8f8
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-09-12 18:13:08 +00:00
Stephan Binner
bef8b905af Convert features.sizegrip to QT_[REQUIRE_]CONFIG
Change-Id: Ieac4ae1f0b8b84e943c00da9903346a44e57138c
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-09-12 18:12:47 +00:00
Giuseppe D'Angelo
71a2dd955c QSharedPointer: add get() for STL compatibility
[ChangeLog][QtCore][QSharedPointer] Added get(), for compatibility
with std::shared_ptr.

Change-Id: I77189c89bc6a222313b9b2353f1fb3969433c750
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-09-12 14:05:21 +00:00