Commit Graph

24689 Commits (b91a6ef9cd687cd2b1a72f32fa23bf5930caed58)

Author SHA1 Message Date
Thiago Macieira b91a6ef9cd Deprecate and remove the unused bearer support in QNetworkProxy
This hasn't done anything since at least Qt 5.0. It's possible it was
only used in Symbian, which we removed before the 5.0 release. This only
served to make the tst_QNetworkProxyFactory test slow.

[ChangeLog][QtNetwork][QNetworkProxy] The functions related to
QNetworkConfiguration are deprecated. They've performed no action since
Qt 5.0, so code using them can safely stop doing so.

Change-Id: I84e45059a888497fb55ffffd14d31b7c2978a04e
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Jesus Fernandez <Jesus.Fernandez@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
2017-07-21 18:25:42 +00:00
Timo Aarnipuro 5cae29ffc7 Move toString calls after their definition
Move two functions that are using toString(const QString &str) from
qtestcase.h to qtest.h. This fixes compilation on INTEGRITY platform.

Task-number: QTBUG-61702
Change-Id: I5a433126741c7a52621616c5b98203e7d642b330
Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
Reviewed-by: Samuel Gaist <samuel.gaist@edeltech.ch>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-07-21 06:10:02 +00:00
Jake Petroules 8418a6335b Add a safety check to prevent apps from running on unsupported OSes
Although Qt declares its minimum supported OS version to the compiler
and linker, the OS ignores this information when loading shared
libraries, so instead of failing with a useful error message, the
program will simply crash at runtime. This attempts to bring that
failure as early in the lifecycle as possible, and provide a better
error message as well.

Change-Id: Ic58b44f8895eac718c94e62cad6e2506dbea8a7e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-07-21 04:58:07 +00:00
Daniel Teske 854fdaaf76 QLineEdit: Add selectionEnd() and selectionLength()
Getting the end position of the selection was not possible.

[ChangeLog][QtWidgets][QLineEdit] Added selectionEnd(), selectionLength(),
complementing selectionStart().

Change-Id: Iaecc624063d7c043f9502351f07eb76f869e86f1
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2017-07-20 13:46:26 +00:00
Simon Hausmann d39ec44e19 Merge "Merge remote-tracking branch 'origin/5.9' into dev" into refs/staging/dev 2017-07-20 13:46:11 +00:00
Hannah von Reth 32e0da4501 Add "<APPDIR>/data/<APPNAME>" to the non Generic paths on Windows
<APPDIR> was initially thought to be app-specific but is in fact
more used as a kind of vendor prefix, where one vendor (e.g. KDE)
can install many applications into the same APPDIR.

[ChangeLog][QtCore][QStandardPaths] On Windows, QStandardPaths
now also looks into "<APPDIR>/data/<APPNAME>" for non-generic paths.

Change-Id: I426d97d61cc229bad0f5a2a4eb061e349de6681e
Reviewed-by: David Faure <david.faure@kdab.com>
2017-07-20 09:00:11 +00:00
Friedemann Kleint 2b44fb5c62 key-value iterator: Remove constexpr from equality operators
Fixes the build with MSVC2017.
Amends ae292be869.

Task-number: QTBUG-62052
Change-Id: Ibb55e4e93815da8077961e68525e3cb8dc6807b0
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2017-07-20 09:00:06 +00:00
Edward Welbourne 7c0b706488 Fix QMacTimeZonePrivate::previousTransition() for early after epoch
The native APIs don't support previous transition, only next after a
stipulated date.  The prior code started its search at the epoch; if
used for a time before the first transition after the epoch, this
found no transitions so returned invalid data, when the last
transition before the epoch would have been suitable.  It also wound
through all transitions since the epoch, on its way to the selected
time, which was potentially laborious.

Instead, start a year before the stipulated time; this should get a
transition if the zone uses DST.  If it doesn't, start with the first
known transition and binary-chop our way to one within a year of the
last before the stipulated time; then wind forward one transition at a
time, as before.  The chopping is actually faster than binary: each
time we find a transition after the interval mid-point but early
enough, we move the early end of our interval to the transition, which
is later than the old interval's middle.  Using halving, starting with
a vast interval, should thus only incur modest cost, while ensuring we
give up early when no transition data is available at all or the
zone's first transition ever was after the stipulated time.

Change-Id: I96c14540fc2600837e6a22e480fb8dc36cb37220
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-07-20 08:49:22 +00:00
Oliver Wolff 5018284e6e winrt: Enable SOCKS5 support
[ChangeLog][QtNetwork][QNetworkProxy] UWP now supports proxies using
SOCKS5.

Task-number: QTBUG-45495
Change-Id: I78cb7416b6c827eb41485f3f7682f85ff75fcbd0
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
2017-07-20 05:45:30 +00:00
Thiago Macieira 42d2464d8f Stop setting FD_CLOEXEC on systems where O_CLOEXEC is honored
In commit 85ff351266, we removed support
for systems where the pipe2(), dup3(), and accept4() functions are
declared in the libc headers but fail at runtime. On Linux, O_CLOEXEC
was added before accept4(), so if the latter is supported, the former is
too. On the BSDs, the libc headers are updated in lockstep with the
kernel, so we know for sure.

There are still systems that have O_CLOEXEC (a POSIX.1-2008 flag) but
not the extra functions (Solaris and Darwin). Solaris libc must update
like the BSDs, but on Darwin we do build with a new SDK targeting an
old OS. Fortunately, O_CLOEXEC has been supported since 10.7, so we're
out of the woods.

Change-Id: I84e45059a888497fb55ffffd14d249dd4719e2cc
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-07-20 01:17:35 +00:00
Thiago Macieira cb9b42b493 QFileSystemEngine: a file only exists if its link count is not 0
QFileSystemMetaData::fillFromStatBuf is used when filling in the results
from both stat() as well as fstat(). Obviously the file exists if it was
stat()ed but not necessarily so by fstat(): we could be operating on a
file descriptor referring to an unlinked file or an O_TMPFILE.

Change-Id: I8d96dea9955d4c749b99fffd14cd52a8c8dd9ca1
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-07-20 01:17:28 +00:00
Gatis Paeglis f2c0fead18 widgets: remove redundant check in QMenu::popup
if (A)
 doA()
else if (B)
 doB()
if (B)
 doB()

is equal to:

if (A)
 doA()
if (B)
 doB()

when doB() is a self-contained basic operation like
QRect::setY(int ay) with { y1 = ay; } as body.

Change-Id: I3421493fe47459bd9b3d4cb5f4cfdd30ce566003
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2017-07-19 08:17:35 +00:00
Simon Hausmann 407302fb1b Merge remote-tracking branch 'origin/5.9' into dev
Conflicts:
	src/corelib/io/qwindowspipewriter.cpp
	src/widgets/styles/qcommonstyle.cpp

Change-Id: I0d33efdc4dc256e234abc490a18ccda72cd1d9e6
2017-07-19 09:47:29 +02:00
Martin Smith 0f30dcaea8 doc: Make qdoc comment a regular comment
This just removes a '!' from a comment that should not be
a qdoc comment.

Change-Id: I1d90e80656fdcc1c8bd6c177529bd930dcc62932
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2017-07-19 00:15:27 +00:00
Tor Arne Vestbø 73274860dd macOS: Improve QCocoaWindow logging a bit
Change-Id: Ic3555445b045edda884983aa01834a4ae243d6fa
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2017-07-18 23:40:33 +00:00
Thiago Macieira ad3b41a06d QFile::rename: use the open file's ID, instead of using the file name
To do that, we needed to add virtual id() in QAbstractFileEngine and
override it in QFSFileEngine. It might be useful to return other types
of IDs for the other file engines, but this commit does not attempt that
just yet.

Change-Id: I1eba2b016de74620bfc8fffd14ccafe0762b3c38
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-07-18 15:51:35 +00:00
Thiago Macieira f9bfc8b91c QSystemError: Make it format unknown Windows messages
Can happen if we're using HRESULT from weird facilities.

Change-Id: I3d10feaa2e5854ff3c01b32dbd068309e5131d1b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2017-07-18 15:51:30 +00:00
Thiago Macieira bf410ed529 Convert improper uses of qt_error_string() to QSystemError::stdString()
On Windows, qt_error_string() returns the string corresponding to the
Win32 API, not an errno. Replace those uses for a function that works
for errno values.

Change-Id: I1eba2b016de74620bfc8fffd14ccce6162bafdca
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-07-18 15:51:25 +00:00
Thiago Macieira f3205a4949 Merge qt_error_string and QSystemError
This removes a lot of duplicated code that existed in both qglobal.cpp
and qsystemerror.cpp, including the hack to get the correct strerror_r
signature.

This removes the incorrect use of EACCES, EMFILE, ENOENT, and ENOSPC
from qt_error_string on Windows. qt_error_string is supposed to be used
only with Win32 error codes from GetLastError(), despite there being a
lot of uses in cross-platform and even Windows-specific code that pass
errno constants.

It may or may not work: that depends on whether the constants happen to
match. ENOENT matches ERROR_FILE_NOT_FOUND and one could argue that
ENOSPC matching ERROR_OUT_OF_PAPER is acceptable, but EMFILE isn't the
same as ERROR_BAD_LENGTH nor is EACCES, ERROR_INVALID_DATA.

Change-Id: I1eba2b016de74620bfc8fffd14cccb7f77f4b510
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-07-18 15:51:22 +00:00
Thiago Macieira c0bd7ade1a QFileSystemEngine::id/Windows: Use the volume ID too
The MS documentation says that the high/low parts uniquely identify a
file within a system, but they actually mean the filesystem. The details
on how it's allocated make that clear. So we need the volume identifier.

Change-Id: I658f552684924f8aa2cafffd14cfc03c5a09c0e9
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
2017-07-18 15:51:18 +00:00
Friedemann Kleint deb7f9a7c3 Windows QPA: Implement QPlatformWindow::initialize()
Move the code that sends geometry change events from
QWindowsIntegration::createPlatformWindow() to
QWindowsWindow::initialize(), using the obtained geometry
from the creation context. Drop the check for window flags
since they are not changed.

Complements change 4c855a9f9f

Task-number: QTBUG-61977
Change-Id: I0c23abefc45110cc4bf11e10d65dc7ddbb9d20d5
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2017-07-18 14:11:37 +00:00
Kai Koehne 3f18dadeeb Doc: QLoggingCategory::setEnabled() should only be called in filter
Change-Id: Ib159c45ca259af125e48e3dfe59d64abc5f81f81
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-07-18 13:30:22 +00:00
Kai Koehne 54c2bfc9db Doc: Clarify limitations of category filter
As suggested by ogoffart.

Change-Id: I15747869147819799b14dfe0670ff2225f76fc03
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2017-07-18 13:30:18 +00:00
Kai Koehne 9a69a1b969 Doc: Fix snippet for QUrl::isValid() documentation
qDebug(...) expects a const char *, not a QString.

Change-Id: Ie4489c29440e328a732ed026eae3859eb8855ea5
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2017-07-18 13:30:14 +00:00
Gatis Paeglis 214fc32981 xcb: fix build failure when XCB_USE_XINPUT22 is not defined
... and group XI22 methods together under one ifdef clause.

The error message was:

qxcbconnection_xi2.cpp:1025:42: error: no ‘bool QXcbConnection::isTouchScreen(int)’ member function declared in class ‘QXcbConnection’
 bool QXcbConnection::isTouchScreen(int id)

XInput 2.2 was released many years ago, this build failure could
in practice happen only on some really old platform.

Change-Id: I3c1741cbdffe15c0f5149c6d76592a743d1d8a91
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2017-07-18 13:19:11 +00:00
Gatis Paeglis 900abb116d xcb: allow to change XInput device properties at runtime
xinput list-props <device-id>
xinput set-prop <device-id> <atom-id> n n n

Example:

xinput list-props 9
  ..
  Evdev Scrolling Distance (274): 1, 1, 1
  ..
xinput set-prop 9 274 8 1 1

[ChangeLog][Platform Specific Changes][Linux] XInput device property
changes are now detected at runtime (no application restart required).

Change-Id: I4d2455eef70857bc2e35c27011a3808a78fa960f
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2017-07-18 13:19:03 +00:00
Timur Pocheptsov 07c0e0fdcf QAsn1Element - fix toDateTime function
ASN UTCTime uses two characters to encode a year (YY). When converting it
into QDate, it's quite naive to just add 2000. According to RFC 2459,
these YY represent dates in the range [1950, 2049].
This patch also introduces a helper function doing the checked conversion
from a string to int (to be reused in the following-up patches).

Task-number: QTBUG-61934
Change-Id: I3f6f471d24e8357b83b2f5973023b2b842751389
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2017-07-18 13:09:16 +00:00
Tor Arne Vestbø 4a7ec2d9b0 testlib: Allow tailing comments in blacklist files
Task-number: QTBUG-61987
Change-Id: I27219a6d06d7a81514e3f7b2ad5469676f724e04
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2017-07-18 13:04:08 +00:00
Allan Sandfeld Jensen c08dc1e04f Read more KDE configuration in the KDE platform theme
Adds the hints that are read and used by the plasma-integration platform
theme, so naked Qt applications can integrate just as well on this
front.

Change-Id: I45a113e0081ea96c8cf543c22b28b69280ae7619
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: David Faure <david.faure@kdab.com>
2017-07-18 08:11:27 +00:00
Andy Shaw 61f0206620 Revert "Windows: Fallback to d3d9 when in a VM on VMWare Workstation 12"
Revert SHA1 - b1708efeeb as it causes a
problem with QtMultimedia.

Change-Id: I0ba366fa6ddccff3715917f5f455b20c73c2e49e
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-07-17 23:50:56 +00:00
Tor Arne Vestbø f3c39a69bc macOS: Don't assume the proposed fullscreen size matches the screen size
Sometimes AppKit will pass in a proposed size that's smaller than the
geometry of the screen. We don't know why, but shouldn't assert.

Change-Id: I9970c5f587e1e0fb3f2fa932de5a32ac4e1eb76d
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2017-07-17 18:13:23 +00:00
Thiago Macieira 2589111dc0 QNetworkInterface: Remove dynamic finding of Windows Vista functions
We no longer support Windows XP (or Vista, for that matter). We can
directly link to those functions.

Change-Id: Ie9104b1dca6fc2a626399778e68b04e9f8a9d5af
Reviewed-by: Jesus Fernandez <Jesus.Fernandez@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2017-07-17 15:45:46 +00:00
Tor Arne Vestbø 4c855a9f9f Add QPlatformWindow::initialize() for two-step window creation
The QWindow::create method calls createPlatformWindow, and assigns the
result to d->platformWindow. If the platform sends any sort of events
synchronously during the creation, the event will be delivered to a
QWindow that doesn't have a handle() yet, resulting in noop handling
of the event, or crashes.

To mitigate this situations, platforms should do as little a possible
in the QPlatformWindow constructor, and leave initialization to the
new method, where the QWindow will have a handle().

The macOS platform plugin still has a m_initialized guard, to prevent
sending geometry changes during initialization, as this will result
in a resize event before a show event. This forced behavior seems
dubious, but is left for a followup patch.

Task-number: QTBUG-61977
Change-Id: I04d32d93391e89d068752b719270438e7024ad46
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-07-17 13:05:55 +00:00
Joerg Bornemann c7ec07d401 Do not wait in QWindowsPipe{Reader|Writer}::stop()
A deadlock can occur if the user does

    QLocalSocket *ls = new QLocalSocket;
    ls->moveToThread(t);
    ...
    delete ls;

Then QLocalSocket calls QWindowsPipeReader::stop() in a different thread
than the I/O operation is running in. The waitForNotified(-1) call would
then wait indefinitely until the I/O thread is in alertable wait state
again. Especially on application shut down this might never be the case,
and the application would deadlock.

Solve this by detaching the Overlapped object from the
QWindowsPipe{Reader|Writer} in stop() and delete it in the callback.

Task-number: QTBUG-61643
Change-Id: Ie262d75c5fd92ac7cf7dfcdbf1519050be9fd3c4
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-07-17 11:20:47 +00:00
Allan Sandfeld Jensen 0345608d16 Allow fusion style to follow platform theme on button icons
Do not try to set the default value of dialog buttons in fusion, but
let the common style handle it that asks the platform theme.

This adds icons to dialog buttons on platforms that usually has that
(such as KDE).

Change-Id: I29cfa49cfd993224220bc992c523f5b2df20870d
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: David Faure <david.faure@kdab.com>
2017-07-17 09:04:11 +00:00
Gatis Paeglis 1e8a687a3a xcb: fix spelling error in xi2HandleHierarchyEvent()
Change-Id: I17bdd856bb23734f683b066759ab44493a8d60b7
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2017-07-17 07:23:13 +00:00
Joerg Bornemann 2d54aac427 Fix warning messages in QWindowsPipeReader/Writer
We forgot to update the warnings when removing qt_cancelIo.
Also, use %p instead of %x, because HANDLE is void*.
This amends commit fade2958.

Change-Id: Ia11d7d094aa6beb939e0be4bbe4ab3654eaa1c02
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-07-17 06:58:02 +00:00
Jake Petroules 0b6bf289fd Update OS version constants in qsystemdetection.h
Change-Id: I8c8fa8861280948bf8488c4465a359858bb625e0
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-07-16 23:04:34 +00:00
Kai Uwe Broulik 184d80f5a0 QDialogButtonBox: Don't overwrite shortcut with standardButtonShortcut
de63bbd2f8 introduced a new
QPlatformTheme::standardButtonShortcut which would then unconditionally
overwrite the QPushButton shortcut, even when empty, breaking activating
mnemonics potentially included in the button's text.

Task-number: QTBUG-61197
Change-Id: I2a5a460a820a5ab4054eb44f349066aaeca1436f
Reviewed-by: Marco Martin <notmart@gmail.com>
Reviewed-by: Alexander Volkov <a.volkov@rusbitech.ru>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2017-07-15 16:59:49 +00:00
Stephan Binner 773178900f Convert features.treeview to QT_[REQUIRE_]CONFIG
Change-Id: I4a036a0410615ac563b17f7715c47acccb8abfca
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-07-15 16:46:38 +00:00
Tor Arne Vestbø 8fad51b7bc macOS: Fix exception when drawing scrollbars with zero-range
Terminating app due to uncaught exception 'CALayerInvalidGeometry',
  reason: 'CALayer position contains NaN: [nan nan]'

 0 CoreFoundation   __exceptionPreprocess
 1 libobjc.A.dylib  objc_exception_throw
 2 CoreFoundation   +[NSException raise:format:]
 3 QuartzCore       _ZN2CA5Layer12set_positionERKNS_4Vec2IdEEb
 4 QuartzCore       -[CALayer setPosition:]
 5 QuartzCore       -[CALayer setFrame:]
 6 AppKit           -[NSScrollerImp _updateLayerGeometry]
 7 AppKit           -[NSScroller setFloatValue:knobProportion:]
 8 libqmacstyle     setupScroller(NSScroller*, QStyleOptionSlider const*)
 9 libqmacstyle     QMacStyle::drawComplexControl(...)

Change-Id: I5afe7e7d3e94ff1d9ee34f5a9bc0d229d4f7c4c6
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2017-07-14 20:16:42 +00:00
Stephan Binner 4db3a5f8eb Add missing #include for -no-widgets
Task-number: QTBUG-61780
Change-Id: I62fccc6474965278cb1b258b512fda3b60f995f3
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-07-14 18:18:18 +00:00
Tor Arne Vestbø 97d471c99f Make QRasterBackingStore::resize() lazy
By deferring the image resizing until the first beginPaint after the
resize we can be sure to have a platform window, simplifying the logic.

Change-Id: I5409522563a62794b111dac7f817bc3cae6bf4e8
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2017-07-14 16:14:21 +00:00
Gatis Paeglis f8c42ea891 xcb: don't allow isAtLeastXI2{1,2} in builds without Xinput2
.. thus making it purely into a _runtime_ check of XInput 2 version.

If Qt was build with -no-xinput2, it does not make sense to compile
in code that always returns "false". Simply exclude code that is not
relevant for -no-xinput2 builds with XCB_USE_XINPUT2 ifdefs. In
addition, this improves readability of the code.

Now, trying to use ::isAtLeastXI21() in a -no-xinput2 build will
result in the following build error:

error: ‘class QXcbConnection’ has no member named ‘isAtLeastXI21’

Change-Id: If242510d43d71829b327edc1f76322f3a0db0e08
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2017-07-14 15:44:34 +00:00
Gatis Paeglis 5dc8c4286e xcb: rely on QRegion::operator| to handle empty regions
There is no need to check for it explicitly.

Change-Id: I66958bf1ff4539ee75fec635c96f056524da8ddb
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2017-07-14 15:01:39 +00:00
Tor Arne Vestbø caa4ead1b9 Flesh out and clean up QBackingStore documentation
Some of the functions had wording that suggested people subclass
QBackingStore, probably because the docs came from QWindowSurface
in QWS times.

Clarify the role of the region, window, and offset arguments
to flush(), in the case of flushing child windows.

Document that paintDevice() is only valid after calling beginPaint(),
and should not be cached.

Although our own QRasterWindow, and the rasterwindow example, both
allow backingstores for child windows, and it works in practice on
a few platforms, we keep the documentation stating that they should
only be used for top level windows, until we've verified and
formalized support for this across platforms.

Change-Id: I7b4d6128a0cd2faeb2af9405ac1bcca46440ead1
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2017-07-14 13:42:48 +00:00
Alex Blasche d4700b2317 Bump copyright year of qdbuscpp2xml and qdbusxml2cpp to 2017
Change-Id: I7be6f45d359db813b15a3754b3ed203cb829a3d0
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2017-07-14 13:00:54 +00:00
Alex Blasche dbcfe31892 Fix empty "Command line was" string in generated source files
Task-number: QTBUG-61370
Change-Id: If829a889acfe092adad4ac443d71e63b67ba7f55
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-07-14 13:00:26 +00:00
Mårten Nordheim 5b24d3dd35 Add missing constexpr specifier to two iterators
The classes themselves and their equality operators are used in
constexpr functions/ctors (in QKeyValueIterator) so Visual Studio 2017 expects
them to be marked constexpr as well. Currently this causes a compilation error
when instantiating a QKeyValueIterator using either of these iterators.

Change-Id: I2e3eeaf3b3f11f381a63875e6575dfd82fe56fcb
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-07-14 00:24:25 +00:00
Thiago Macieira 97294ed995 Merge "Merge remote-tracking branch 'origin/5.9' into dev" into refs/staging/dev 2017-07-14 00:00:53 +00:00