Commit Graph

33755 Commits

Author SHA1 Message Date
Friedemann Kleint
278fa07045 QNetworkDiskCache: Fix deprecation warning
access\qnetworkdiskcache.cpp: In member function 'virtual qint64 QNetworkDiskCache::expire()':
access\qnetworkdiskcache.cpp:540:44: warning: 'QDateTime QFileInfo::created() const' is deprecated: Use either birthTime() or metadataChangeTime() [-Wdeprecated-declarations]
             cacheItems.insert(info.created(), path);
                                            ^

Change-Id: I5705de5cb4b490ef2bd788fb94ceac0e5b6c0d05
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2017-09-29 07:28:17 +00:00
Jake Petroules
1e1de2b2e1 Make it an error to omit __builtin_available where needed
This guarantees that we have proper version checks in place for APIs on
Apple platforms that are not necessarily available on the deployment
target.

Change-Id: I10060f8b910f2bb790aa4a9c6f8c5cdc14d7cf06
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-09-29 03:30:18 +00:00
Jake Petroules
7fd3cc3980 Clean up OS version checks for Apple platforms
Convert QSysInfo/QOperatingSystemVersion to __builtin_available where
required or possible, or to QOperatingSystemVersion where
__builtin_available cannot be used and is not needed (such as negated
conditions, which are not supported by that construct).

Change-Id: I83c0e7e777605b99ff4d24598bfcccf22126fdda
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-09-29 03:30:13 +00:00
Timur Pocheptsov
0f5c4ba7cb QtNetwork (examples) - update the fortune server example
Unlike client, this needs a bit more changes:
- remove redundant (and outdated) stdlib.h includes
- use QRandomGenerator (instead of qsrand/qrand pair)
- replace QStringList with QVector<QString>
- Q_NULLPTR->nullptr, ExplicitType * -> auto
- fix some weird indentation

Task-number: QTBUG-60628
Change-Id: I12eed12711b1e622407bd8ecd1afdf56a2cf2097
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2017-09-28 14:07:26 +00:00
Timur Pocheptsov
9e268185bb HTTP/2 protocol handler: set the redirect URL on reply
For HTTP/1 it's done when no data expected and response headers received -
protocol handler emits channel->allDone which handles the status code and
sets (if needed) a redirectUrl. HTTP/2 protocol handler cannot emit allDone
(it has many requests multiplexed and actually cannot say allDone yet).
So we set a redirect url if we have the corresponding status code and
found 'location' header. Before it's too late.

Task-number: QTBUG-63471
Change-Id: Icfa871fb999e676650d62c45a20e689596da4028
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2017-09-28 14:04:28 +00:00
Orgad Shaneh
1cb5943aee QFileSystemEngine: Remove unneeded test for relative symlink
symLinkTarget should always return absolute path.

Change-Id: Id0078924d2f0befdea91e652a6c7775707c1b3c8
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-09-28 12:42:07 +00:00
Orgad Shaneh
8805fdb391 QFileSystemEngine: Minor cleanup in unix
Change-Id: I4a123484ea1f5e53af85a52e86d4a80cef1cd7bc
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-09-28 12:41:58 +00:00
Tor Arne Vestbø
eb2e984da1 macOS: Apply window file path when creating new NSWindow
Otherwise QWindow::setFilePath() before create() would have no effect.

Change-Id: Ia2171054aa13e21316d525193d330efaf4653dbf
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2017-09-28 12:21:23 +00:00
Eirik Aavitsland
621c5baf66 Fix element overwrite in QRandomGenerator's fallback function
Copy into the intended array elements, not into the start of the
array.

Change-Id: I05c4ece2450583c9358aa1eddfd702262e995146
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-09-28 11:25:06 +00:00
André Klitzing
9c13ec5fa3 Replace bundled libjpeg by libjpeg-turbo 1.5.2
Most linux distribution uses libjpeg-turbo as a replacement for libjpeg.
Since Qt will be linked against -turbo more frequently than the "original"
libjpeg we should use it for the bundled copy, too.

Also add an import script.

[ChangeLog][Third-Party Code] Replaced bundled libjpeg by libjpeg-turbo 1.5.2

Change-Id: I41081db74f194cbc288820fc783c9fef16545efd
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
2017-09-28 10:06:26 +00:00
Timur Pocheptsov
0731c092d1 QtNetwork (examples) - update the fortune client example
Minimal changes: Q_NULLPTR->nullptr, Type->auto where initializing expression
self documents the type actually.

Task-number: QTBUG-60628
Change-Id: I2fa784aeb30ac40c6b78e34dd58ad837ad607180
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2017-09-28 09:29:41 +00:00
Timur Pocheptsov
553b6ab9cd QtNetwork (examples) - update multicastreceiver example
... as soon as we updated multicastsender. Changes are minimal and mostly
cosmetic - use 'explcit' and 'nullptr' where appropriate, make a socket
data-member and not a pointer, move the 'datagram's declaration outside
of a loop.

Task-number: QTBUG-60628
Change-Id: Icfa46e6d2844c40a605f2f4066847594943a8ea8
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2017-09-28 09:28:18 +00:00
Jan Arve Saether
36af37c99c Fix BIC issue with QNativeGestureEvent
Problem was for 32 bit macOS, or if QT_COORD_TYPE was configured
to be float.

Change-Id: I0a3d3d305f2e8a0f9be7c40f4fef7eabf4643d05
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2017-09-28 04:45:35 +00:00
Jake Petroules
70422449ef Add a "shim" to allow use of Clang 5's __builtin_available everywhere
This is mostly relevant for Apple platforms, where we can use the new
unguarded availability warnings to guarantee that proper version checks
are present when using APIs that are not necessarily available on the
deployment target.

Change-Id: Ie408704b2924e1220491a9ea30f0141dfa4867d9
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-09-27 16:40:49 +00:00
Timur Pocheptsov
9d2cdb163f QtNetwork (examples) - update broadcastreceiver too
... as soon as we updated the 'sender' example. Changes are purely cosmetic
though - 'explicit', nullptrs and local variables instead of redundant
data-members (QPushButton).

Task-number: QTBUG-60628
Change-Id: I572219da9d2a0ced07d94efb6f52f00b5a9c546d
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2017-09-27 16:35:11 +00:00
Thiago Macieira
1402f5d16e Workaround GCC 6 parsing error ("used but never defined")
GCC 7 and other compilers compile this code just fine. GCC 6 fails, so
this is clearly a compiler bug. So revert the implementation of the
qWait() function back to the original, to make the problem disappear.

 qtestsystem.h:58:42: error: ‘bool QTest::qWaitFor(Functor, int) [with Functor = bool (*)()]’ used but never defined [-Werror]

Change-Id: I0b48fc8e90304e0dacc3fffd14e8110138cc9f45
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2017-09-27 15:53:04 +00:00
Thiago Macieira
9fcbef15f6 Fix build: move Q_REQUIRED_RESULT to the right position
If you're using GCC 7 or Clang 4, Q_REQUIRED_RESULT expands to
[[nodiscard]] that must appear in as specific place on the line.

 qcompilerdetection.h:1182:29: error: attribute ignored [-Werror=attributes]
 qtestsystem.h:58:12: note: in expansion of macro ‘Q_REQUIRED_RESULT’
     static Q_REQUIRED_RESULT bool qWaitFor(Functor predicate, int timeout = 5000)
            ^~~~~~~~~~~~~~~~~

Change-Id: I0b48fc8e90304e0dacc3fffd14e80ede168d5c6b
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2017-09-27 15:40:06 +00:00
Sérgio Martins
ef0129bb66 Don't read the statx struct in case of failure
Change-Id: I62d98e4463003a1da8f28318d82635f6e0b2cc8c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-09-27 15:35:58 +00:00
Thiago Macieira
f7350ac99e Improve qustrlen further by avoiding the alignment prologue
This avoids looping prior to the main 16-byte loop, by performing one
load that may include bytes prior to the start of the string. This is
guaranteed not to fault, since str points to a valid character, but it
may cause Valgrind to print warnings.

Change-Id: I6e9274c1e7444ad48c81fffd14dcae854bba24b2
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-09-26 18:19:35 +00:00
Tor Arne Vestbø
49154acde3 macOS: Deliver NSWindow notifications to all windows, not just top level
Child QWindows (or in the case of QWindows embedded in native applications:
top level QWindows where the corresponding NSView is a child of another
view, so not being the contentView of its window), still need some of the
NSWindow notifications to e.g. update their exposed state when the window
becomes visible.

We make sure to send the notification to all QCococaWindow children of
the relevant NSWindow, and let each callback decide if it should only
apply to content views.

This fixes an issue where a QWindow would never be exposed if the window
was a child NSView and added to a NSWindow that was yet to be shown.

Change-Id: I7f7df8bc5f4ca3ac553a2c146f8c3229b197c059
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2017-09-26 12:50:05 +00:00
Tor Arne Vestbø
44c304cefb Reset QWindowPrivate::platformWindow during destruction before deleting it
Otherwise the deletion of the platform window may result in platform events
that then conclude the QWindow has a valid platform window and calls into
it, when it's been half-way destroyed.

Change-Id: If9eaad1b4e6aa414ba0f96475756a2146e0c01d5
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
2017-09-26 12:50:01 +00:00
Gatis Paeglis
542e11ab2b tests: make exposeEventOnShrink_QTBUG54040 not flakey on xcb
From: https://tronche.com/gui/x/xlib/events/exposure/expose.html

"The circumstances in which the X server generates Expose events
are not as definite as those for other events."

On windows with XCB_GRAVITY_NORTH_WEST flag set we should not get
expose events according to e2665600c0,
but as stated earlier this might not always be true.

Nevertheless, sometimes we get expose event from X server when shrinking
window, but most of the time we don't. Make the test not flakey by
checking that we get at least 1 expose event, instead of exactly 1.
Now running test 500 times in a loop does not fail.

Task-number: QTBUG-63424
Change-Id: I8004e622020cc09e11b7d592faf6d9ee1b9cfee2
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2017-09-26 12:49:59 +00:00
Tor Arne Vestbø
113de68543 macOS: Don't send expose event as update request when becoming visible
QGuiApplicationPrivate::processExposeEvent updates the QWindow's exposed
state, so we need to call QWindowSystemInterface::handleExposeEvent()
when going from non-exposed to exposed.

Change-Id: I461b2fb27cd8fd4bdb250d05d47f9af6cb3eb15c
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2017-09-26 12:49:40 +00:00
Timur Pocheptsov
a732e16d5f QtNetwork (examples) - update multicastsender
Similar to broadcast sender:

- where possible use local variables instead of data-members
- where possible avoid heap-allocated objects, use sub-objects instead
- change signal-slot connection syntax (and as a "bonus" - show our QOverload)

Task-number: QTBUG-60628
Change-Id: I8cd4f888c1d0653bdc8591800e713bbd347ad2fb
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2017-09-25 18:43:35 +00:00
Timur Pocheptsov
ddb191e47a QtNetwork (examples) - update secure socket client example
This patch contains:

- some cosmetic changes to  make example look more like
  modern C++;
- UI initialization code and SSL signals handling were split
  into separate member-functions;
- useless checks 'if (socket)' were deleted;
- widget's minimum size is now fixed + font size
  in 'CertInfo' dialog increased to make it readable.

Change-Id: I7aadb78896832a989494d280d6da0635045f948c
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2017-09-25 13:59:50 +00:00
Friedemann Kleint
7896efdd9f QNativeGestureEvent: Fix documentation
Fix qdoc-warnings:

src/gui/kernel/qevent.cpp:2772: warning: Undocumented parameter 'dev' in QNativeGestureEvent::QNativeGestureEvent()
src/gui/kernel/qevent.cpp:2794: warning: No documentation for 'QNativeGestureEvent::device()'

Change-Id: I845b0925ad4f1d8602455444ebbd4ec6320ebae7
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2017-09-25 13:32:39 +00:00
Rainer Keller
bde42ffb8b Avoid window geometry jittering when changing geometry from JavaScript
The QML API allowed only separate setting of geometry parameters which
causes flickering when all parameters need to be changed.
By exposing the setGeometry function it is possible to set all of these
at once using an imperative setGeometry call from JavaScript.

Note that bindings for x/y/width/height are still evaluated
sequentially, resulting in four calls to the platform window's
setGeometry. This patch only introduces an imperative workaround for
that issue.

Change-Id: Ie9b0d3c39434740e50757ba7cff0385ae80f47f4
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2017-09-25 12:56:04 +00:00
Tor Arne Vestbø
292cb12e02 testlib: Add qWaitFor to wait for predicate
Reduces duplication of logic and allows other primitives to be
built on top.

Change-Id: Ia100014cfb0c09ac2f47c3a156d0c76f0fddafa8
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
2017-09-25 12:19:18 +00:00
Richard Moe Gustavsen
0dbede2b17 Widgets: be able to tab to a widget that has a focus proxy
When tabbing/searching for the next focus widget, the current
code would check if the next widget in the focus chain
had a focus proxy, and if so, ignore it. The exact reason
for this behavior is not clearly understood, but some widgets
(e.g QSpinBox) has children (a QLineEdit) that sets the parent
as focus proxy. If we didn't ignore children with focus proxy, tabbing
from a QSpinBox would lead us to find the inner QLineEdit, which
(because of its proxy), would lead us back to the QSpinBox. And
therefore not be able to tab out.

But ignoring the focus proxy has other problems. Normally a focus
proxy is the next sibling to the widget it acts as a proxy for, and
tabbing to the widget will therefore appear correct. But if the
focus proxy is not the next sibling, the logic will fail, since
the tab would anyway give focus to the next sibling. This becomes very
apparent if the focus proxy is a child of the widget, since then
its likely that the focus proxy is not the _first_ child among all
the children. So tabbing to the parent would not give focus to
the proxy.

This patch will change this logic so that you are allowed to tab to a
widget with a focus proxy. But we check that if you do so, you actually
end up moving focus in the right direction. If not, we ignore it like
before. This will ensure that we tab correctly when dealing with focus
proxies, and especially when focus proxies are used to construct
compound widgets.

[ChangeLog][Widgets] When tabbing to a widget with focus proxy, focus
will now be given to the proxy rather than just being ignored.

Task-number: QTBUG-10907
Change-Id: I66d1da5c941fdd984bb2783cc355ca65b553b5dd
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2017-09-25 07:18:37 +00:00
Richard Moe Gustavsen
1fe27f79f7 Widgets: add QWidgetPrivate::deepestFocusProxy()
Factor out searching for the deepest focus proxy
in to a private function. Other than being called
from QWidget::setFocus(), this function will also be
used in subsequent patches.

Change-Id: I4450a42e362eccb64f8a88c7ea83b415101973b9
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2017-09-25 07:18:28 +00:00
Thiago Macieira
9467ebcf15 Autotest: centralize the detection of IPv6 support
I'll need it again in the next commit.

Change-Id: I209fcd5dbc2b4e5381cffffd14df65dcee71ca7e
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2017-09-25 05:38:27 +00:00
Thiago Macieira
8656ee950b Refactor QNetworkAddress not to keep a full QHostAddress
QHostAddressPrivate is one QString and 24 bytes, allocated on the heap,
which is WAY too heavy for something that fits into 8 bits. So instead
of storing the expanded netmask inside QNetworkAddressEntryPrivate, we
store the simple prefix length and calculate the mask only if asked.

Change-Id: Ie05c6480d8a44fda817ffffd14d9ad4707aa8a92
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2017-09-25 05:38:24 +00:00
Thiago Macieira
758982bd74 QNetworkInterface/Windows: solve 11 year old puzzle about Win32 API
When I introduced QNetworkInterface in Qt 4.2, I didn't understand the
relationship between the prefix list and the unicast address list in the
IP_ADAPTERS_ADDRESSES structure. Turns out, there isn't a (direct) one
and the actual solution didn't come along until Windows Vista, adding
the prefix length to each address.

Change-Id: I6a556cca551116d77c7edf43f9c651dacb75348f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2017-09-25 05:38:21 +00:00
Thiago Macieira
59e0b6d40c QNetworkInterface: complete removing pre-Vista support
Commit 2589111dc0 removed the dynamic
function search, but did not remove the offsetof checks.

Change-Id: Ibd2b5263f7de551f47fe137dbe1a1b7b7cd71934
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2017-09-25 05:38:19 +00:00
Jake Petroules
bad4205250 Remove obsolete version checks
Our iOS deployment target is now 8, so this code will never be executed.

Change-Id: I7dd4001c01d7c8c2e8e977753cb3fa246b19ce06
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
2017-09-25 00:58:52 +00:00
Jake Petroules
b0561e6382 Add currentType function to QOperatingSystemVersion
This allows us to retrieve the current OS type without constructing an
instance of the class, and it's also constexpr.

Change-Id: I8b32a1aebeb8139fe3fcf146e5de558fa1060bb8
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-09-25 00:58:41 +00:00
Giuseppe D'Angelo
0d0ad598c5 QThread::create: move implementation out of line
Now that we accept STL datatypes in our ABI, expose a factory
function that takes a std::future<void>, and hide the QThread
subclass in our implementation. This also solves the problem
of a non-exported polymorphic class that would generate duplicate
vtables / typeinfo in all TUs.

Change-Id: I70a5c301e7c589de1a4a189db39b86b956d1ba0d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-09-24 15:05:25 +00:00
Giuseppe D'Angelo
e5033a5c9b QThread::create: make qdoc generate its documentation
Change-Id: I6eaaa0f9cbda6ef985cda63f2bf36d3102f34f32
Reviewed-by: Martin Smith <martin.smith@qt.io>
2017-09-24 12:35:59 +00:00
Gatis Paeglis
971adcaea1 examples: remove wince leftovers
This patch ammends c8602f45cc

Change-Id: I6bbc892b514b1768e4cc3a4d52aa420a6e9bb4e9
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2017-09-22 19:22:07 +00:00
Thiago Macieira
282065d443 QRandomGenerator: update API to better name
"generate" is better than "get", and we already have "generate(it, it)"
which uses std::generate(). This changes:

 - get32()    →   generate()
 - get64()    →   generate64() and QRandomGenerator64::generate()
 - getReal()  →   generateDouble()

Change-Id: I6e1fe42ae4b742a7b811fffd14e5d7bd69abcdb3
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-09-22 15:29:42 +00:00
Mårten Nordheim
7ef515b5c0 Modernize the Local Fortune Client and Server examples
Task-number: QTBUG-60625
Change-Id: I8ae77b782b580baf84cd5f353f8d584f674fb014
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
2017-09-22 14:51:48 +00:00
Shawn Rutledge
ce019efb5c add back the device-less QNativeGestureEvent (deprecated)
It was an oversight in 83729ad7a1
that this constructor is still in use in other modules.  And in fact
we cannot remove public constructors without deprecating them first.

Task-number: QTBUG-63355
Change-Id: I64dbf9bc54c0bf6be7157f047b548d3b2c5bc2ed
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-09-22 14:34:36 +00:00
Shawn Rutledge
bcdd07ceb8 Blacklist tst_QItemDelegate::enterKey tests on openSUSE 42.3
Task-number: QTBUG-62967
Change-Id: Ifce1c8732e126e26636057de29e1fe6348c914bb
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2017-09-22 14:34:30 +00:00
Mårten Nordheim
390b28b240 Slightly revamp the http example
It was already revamped a fair bit 2 years ago

Replaced Q_NULLPTR with nullptr.
Added a minimum size to the progressbar dialog.
Update the label if a redirect is rejected.
Improve the overwrite dialog message.
Replaced the documentation image.

Task-number: QTBUG-60628
Change-Id: I0fb70d90e1d6ca84a8307bd6ea4ea1ce220feeaf
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2017-09-22 14:29:12 +00:00
Timur Pocheptsov
ffbe848770 QtNetwork (examples) - update broadcastsender
Fix copyrights, update signal-slot connection syntax, use some simple
C++11 features (member-initializers, 'auto'), delete some data-members
(where a local variable is enough), where possible - use data-memebrs
as sub-objects (instead of heap allocated).

Task-number: QTBUG-60628
Change-Id: Ia440d8471eafb47481c0d010175c907037bae841
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2017-09-22 04:29:17 +00:00
Shawn Rutledge
aa4ff7b2e9 macOS touch and gestures: pay attention to deviceID
Previously we pretended that there is only one touch device; but in fact,
different trackpads have different deviceIDs, and this may be useful
in some scenarios to tell them apart, as on other platforms.
So far we don't expect to get touch events from actual touchscreens
though, because macOS only turns single-touch events into mouse events
and does not interpret gestures on touchscreens.  So there isn't API
which can distinguish touchscreens from touchpads as far as we know.
QCocoaTouch::getTouchDevice() takes the type as a parameter, just in
case this changes some day.

Change-Id: I56228471363235c5d0cc2a55a35a3c3288f3b1a1
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
2017-09-21 16:35:14 +00:00
Shawn Rutledge
83729ad7a1 make the QTouchDevice available in each QNativeGestureEvent
QtQuick is beginning to have a use for this, to distinguish native
gestures which come from actual trackpad rather than from the "core pointer".
It might as well use a real device ID instead of making one up,
as it has to do for the core pointer.

So far on macOS, the device ID isn't a real one; but that can be fixed,
as the qCDebug lines demonstrate (different trackpads have different IDs).

Change-Id: I5841deb1c4cc0b77a3b1df70904f70b3d2d71853
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
2017-09-21 16:35:06 +00:00
Timur Pocheptsov
be0a9a7688 Fix loadOpenSslWin32
The libraries are now 'libssl-1_1' and 'libcrypto-1_1', not 'ssleay32' or
'libeay32'. 64-bit versions also have -x64 suffix in their names.

Task-number: QTBUG-62692
Change-Id: Ic15bf8f8271d0f6266cb9d2143e292ddba643ded
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2017-09-21 12:55:04 +00:00
Liang Qi
e5114e10dc Merge "Merge remote-tracking branch 'origin/5.9' into 5.10" into refs/staging/5.10 2017-09-21 06:55:09 +00:00
Friedemann Kleint
34aa7a18af QOperatingSystemVersion: Add debug operator
Change-Id: Ibc942196bef0edc74f34501830fc83cb64259e39
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2017-09-20 12:19:56 +00:00