Commit Graph

36112 Commits

Author SHA1 Message Date
Oswald Buddenhagen
290f953253 configure: centralize shell-quoting of tests' .literal_args field
this de-noises the code somewhat, and makes it possible to eval() the
code generated by $$qtConfLibraryArgs(), which we want to do later.

Change-Id: Ib6101c6745101801e34f8fab1ad6651e624130c7
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2018-05-08 12:50:04 +00:00
Edward Welbourne
fec96d9a9f Remove mention of selftest.qrc from generator script's doc
This supplements b1945604a7, which
removed the qrc file in favor of test/test.pro coding for it.

Change-Id: I15507c89ca14fa6e6b8223de671ffff7092272d0
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2018-05-08 12:45:25 +00:00
Mikhail Svetkin
c427ba53aa macOS: Transition to new QPA dag-and-drop API
The new API allows us to pass the mouse buttons and
keyboard modifiers along with the QWSI event.

Task-number: QTBUG-57168
Change-Id: Ic54c012d1593d922e7dcd31facab2f2c630c7996
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2018-05-08 11:39:32 +00:00
Morten Johan Sørvig
60457e6cd0 macOS: Experimental Vulkan support via MoltenVK
Add support for QSurface::VulkanSurface and QVulkanWindow.

Usage:
  1) Build MoltenVK according to instructions
  2) Configure Qt: ./configure -I /path/to/MoltenVK/Package/Release/MoltenVK/include
  3) export QT_VULKAN_LIB=/path/to/MoltenVK/Package/Release/MoltenVK/macOS/libMoltenVK.

Implement support for QSurface::VulkanSurface by enabling
layer mode for QNSView and then creating a CAMetalLayer,
which the MoltenVK translation layer can run on.

MoltenVK provides an implementation of the Vulcan API,
which means that the platform integration is similar
to other platforms: implement a QCocoaVulkanInstance
where we pass the QNSView instance to the vkCreateMacOSSurfaceMVK
Vulkan surface constructor function.

Using Vulkan directly without QVulkanWindow is possible, but not
tested.

We currently load libMoltenVK at run-time and use the
existing QT_VULKAN_LIB environment variable to set its
path. For deployment purposes it would be better to
link against MoltenVK.frameworkm, but this

Task-number: QTBUG-66966
Change-Id: I04ec6289c40b199dca9fed32902b5d2ad4e9c030
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2018-05-08 11:27:26 +00:00
Gatis Paeglis
0b815aa2f8 qbasicdrag: temporary restore obsolete APIs
... that were removed in 10b3286313.

This is needed so we can properly resolved inter module
dependencies (update qtwayland to use the new API).

Task-number: QTBUG-68151
Change-Id: If9c3b42f76bd2c1d8fc86304cfcc22c18bad9e27
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
2018-05-08 07:36:49 +00:00
Friedemann Kleint
d4aef80525 Windows QPA: Improve debug output of keyboard shortcut handling
Add a debug operator for KeyboardLayoutItem
and output keys in QWindowsKeyMapper::possibleKeys().

Change-Id: I28215f44da2a9c08a27541ef0e906d37be2bad72
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2018-05-08 06:57:23 +00:00
Allan Sandfeld Jensen
910785a77a Get rid of argb32->argb32pm routines in qimage
We already have better optimized versions in drawhelper. Removing
these versions is a performance gain.

Change-Id: I431c74e440529648d9bc5e22c0e700a72d376934
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
2018-05-07 17:59:31 +00:00
Allan Sandfeld Jensen
a18370cbed Optimize intermediate_adder_avx2
Use 16-bit multiplication as it is twice as fast as 32-bit
multiplication.

Change-Id: I64b529eaaed4ce2c59c64a0120e93cd132724156
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-05-07 15:22:36 +00:00
Mitch Curtis
4c92fce761 Fix order of mouse selftest in selftests.pri
Put it in alphabetical order like the rest of the list.

Change-Id: I3da3bb68d1847f53419bb79490b946c935ebb518
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2018-05-07 14:53:26 +00:00
Mitch Curtis
630b06f86c Add self-tests for QTest::keyPress() and QTest::keyRelease()
They didn't exist up until now, and future patches rely on them, so
add them.

Change-Id: I8afdb9417263b45d43355c688a813bdf99ea5fc8
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2018-05-07 14:53:18 +00:00
Oswald Buddenhagen
b9835aef1a qmake: make even more use QStringRef and QStringView overloads
Change-Id: If067368529f89347a4618a24e2737e04b4fc0ce3
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2018-05-07 12:01:46 +00:00
Allan Sandfeld Jensen
9bc616948f Optimize direct argb32 blend functions
They were slower than the long path version due to working too hard.
This also unduplicates code by using the blend_pixel function.

Change-Id: Ibf84b8f749cf40d4c852b459dc76860afd850d32
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
2018-05-07 12:00:06 +00:00
Oswald Buddenhagen
d5e655f388 fix handling of GENERATED_TESTDATA with CONFIG+=builtin_testdata
relative paths must be resolved against $$OUT_PWD, not $$_PRO_FILE_PWD_.

Task-number: QTBUG-58991
Change-Id: I9ce8e9c78e0fad026a7cc355852d23f9d6e96ee6
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2018-05-07 11:50:33 +00:00
Oswald Buddenhagen
97d7a00989 rcc: don't drop entries with missing files in -list mode
the files may not exist _yet_. this change allows dynamically generating
the resource contents.

the ignoreErrors parameter is renamed to listMode and made less
aggressive, to better reflect the actual usage.

Change-Id: I2f6a75a23f1ef903f0d957f9a09f4df0ce2a2b35
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2018-05-07 11:50:13 +00:00
Tor Arne Vestbø
4d15f393a7 Move default implementation of update requests to QPlatformWindow
Change-Id: I4cbb8d2023068288e298ab21f5cd8bc258825c77
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2018-05-07 10:43:16 +00:00
Friedemann Kleint
2d1ac61d95 Windows QPA: Use new QPA Dnd API
Task-number: QTBUG-57168
Task-number: QTBUG-56244
Change-Id: I84cf811d9e886369a659ecb33ce1778207660922
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
2018-05-05 09:42:12 +00:00
Thiago Macieira
cf63b0e1df qsimd: add support for new x86 CPU features
This adds detection for: VAES, GFNI, AVX512VBMI2, AVX512VNNI,
AVX512BITALG, AVX512VPOPCNTDQ, AVX512_4NNIW, AVX512_4FMAPS. These
features were found in the "Intel® Architecture Instruction Set
Extensions and Future Features" manual, revision 30. This commit also
adds support for RDPID (already in the main manual) and the Control-flow
Enforcement Technology, which appears in a separate Intel paper.

This new support was done by adding a new generator script so we don't
have to maintain two tables in sync, one in qsimd.cpp with the feature
names, and the other in qsimd_p.h.

Since we now need a lot more bits, it's no longer worth keeping the two
halves of the qt_cpu_features variable mostly similar to the main two
CPUID results. This commit goes back to keeping things in order, like we
used to prior to commit 6a8251a89b (Qt 5.6)

At the time of this commit, GCC 8 has macros for AVX512VPOPCNTDQ,
AVX512_4NNIW, AVX512_4FMAPS, AVX512VBMI2 and GFNI.

Change-Id: I938b024e38bf4aac9154fffd14f7afae50faaa96
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2018-05-05 06:20:07 +00:00
Thiago Macieira
6e1190053d qsimd: remove support for systems without 64-bit atomics
We had that as a concession for early toolchains that failed to include
the necessary libraries. They must now be up-to-date.

Change-Id: I938b024e38bf4aac9154fffd14f7a630ef160cd5
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2018-05-05 06:20:04 +00:00
Thiago Macieira
2f9d49630d Examples: fix network-chat in the presence of an IPv6 stack
Since we bind to QHostAddress::Any, the incoming packets are actually
IPv4-mapped IPv6 addresses and the operator== strict comparison was
failing. Instead, use isEqual(), which defaults to TolerantComparison.

Change-Id: Ic38ec929fc3f4bb795dafffd150ac6b3a0a7e3b2
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2018-05-05 06:20:01 +00:00
Qt Forward Merge Bot
ba2b7b8e33 Merge remote-tracking branch 'origin/5.11' into dev
Change-Id: Ib58433da04bffb5dfab5486b80f17f39cc4145fa
2018-05-05 01:00:55 +02:00
Tor Arne Vestbø
43ea15d01c macOS + FreeType: Properly distinguish memory fonts from file fonts
In recent macOS versions the descriptor created from the function
CTFontManagerCreateFontDescriptorFromData() will contain the
NSCTFontFileURLAttribute with a value such as:

 file://iNmEmOrYcGfOnT_0x101d3c3a0#postscript-name=New

Which means we can't use the presence of the kCTFontURLAttribute to
determine that we're dealing with a file font. Instead we check for
our custom kQtFontDataAttribute first, which is only set for memory
fonts.

Task-number: QTBUG-68044
Change-Id: Ie87d06b5a9e0e251305200b717f18ef68ccc6abc
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2018-05-04 15:49:11 +00:00
Thiago Macieira
a25ba47c2b QAbstractEventDispatcher: add a note about the timer range for Qt 6
Task-number: QTBUG-67383
Change-Id: I00ccecb71c774bb9b86cfffd15205b4f38088764
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-05-04 15:32:46 +00:00
Thiago Macieira
70f51cccaf Fix Clang 6 warning about comparing different enums
qdialogbuttonbox.cpp:862:14: error: comparison of two values with different enumeration types in switch statement
('QDialogButtonBox::ButtonRole' and 'QPlatformDialogHelper::ButtonRole') [-Wenum-compare-switch]

Change-Id: I3840d727dee443318644fffd1529350b81678712
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-05-04 15:32:27 +00:00
James McDonnell
aadc294f2d QNX: Add screen-context-capabilities platform parameter
Specifies the flags value for the screen_context_create call allowing
the Qt application to take on additional screen capabilities via the
Qt screen context.

Change-Id: Ic7aa478227e64afe2d1d7d04ec58c11ad68b9f22
Reviewed-by: Janne Koskinen <janne.p.koskinen@qt.io>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2018-05-04 14:21:08 +00:00
James McDonnell
fc356a1992 QNX: Move screen event retrieval to the GUI thread
Instead of retrieving screen events itself, the screen event thread
now turns screen event notification into a Qt signal.  In response to
the signal, the GUI thread processes screen events.  Eliminates the
need to coordinate access to a screen event queue.  Also prepares the
way for getting rid of the screen event thread.  This could be done if
the QNX event dispatcher were switched from poll to MsgReceive
(dispatch).

Change-Id: If5892466d04d67f00828fddaea38b20da5fb18a3
Reviewed-by: Janne Koskinen <janne.p.koskinen@qt.io>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2018-05-04 14:20:56 +00:00
James McDonnell
e67671d7cb Generate more Windows/Linux-like Qt keyboard events
The QKeyEvent::key values were significantly different on QNX
and some QKeyEvent::text values were also different/missing.

Also makes it possible to enter numbers via the numeric keypad.

Change-Id: Ifcf6284b99a893a87974d37ec6d6976f88241e61
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Dan Cape <dcape@qnx.com>
2018-05-04 13:12:14 +00:00
André Klitzing
5269f6d55e Avoid to fail to close stream on exception
Move .close() to finally block.
Found by spotbugs.

Change-Id: I1d11f52c79e805082f05801e4ef0ec94c6dc4e6e
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2018-05-04 13:08:31 +00:00
Mårten Nordheim
ef242e0b34 OpenSSL 1.1.1: Fix tst_QSslCertificate::toText
The formatting of the output from QSslCertificate::toText has
changed slightly from before, so it no longer matches the test's
data.

From what I can tell we just do a manual sanity check and create
a new file with the new output and then augment the test.

Task-number: QTBUG-67463
Change-Id: I751e5a3f9a28015f97c895cea47384704fd68e38
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2018-05-04 12:57:47 +00:00
Mårten Nordheim
28071ad253 Fix crash in qsslsocket_openssl
We were using the wrong free function in a path which was hit in an
edge case (PKCS#12 certificate without a private key attached).

Change-Id: I5335b5dea7a926b242bed0fd9b989b681a5828d8
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2018-05-04 12:57:46 +00:00
Jüri Valdmann
93e0ff037e QJsonDocument: Validate also zero-length objects
The added test case is the binary JSON equivalent of

    {"a":{"š":null}}

with two modifications. First, the length of the string "š" has been corrupted
to 0xFFFFFF00. Second and more import, the Base::size field of the inner object
has been reset to 0.

On its own the first modification would normally trigger a validation error.
However, due to the second modification the Value::usedStorage for the inner
object evaluates to 0, completely disabling all further validation of the
object's contents.

Attempting to convert this binary JSON into standard JSON will lead to the JSON
writer trying to construct a QString of length 0xFFFFFF00.

Fixed by validating also objects with usedStorage == 0.

Task-number: QTBUG-61969
Change-Id: I5e59383674dec9be89361759572c0d91d4e16e01
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-05-04 12:04:05 +00:00
Jüri Valdmann
3fc5500b4f QJsonDocument: Reject objects containing themselves in binary JSON
The added test case is a binary JSON file describing an array which contains
itself. This file passes validation even though attempting to convert it to
plain JSON leads to an infinite loop. Fixed by rejecting it in validation.

Task-number: QTBUG-61969
Change-Id: Ib4472e9777d09840c30c384b24294e4744b02045
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2018-05-04 12:03:57 +00:00
Kai Koehne
1aee60eb33 Fix encoding of freetype/LICENSE.txt to utf-8
The previous encoding was ISO-8859-1.

Change-Id: Id13bf1936120fb8b3630ba671ca92f285fa80dec
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2018-05-04 12:02:22 +00:00
Jüri Valdmann
d3935cbd71 QJsonDocument::fromRawData: Fix out-of-bounds access
This method takes a pointer+size pair, but begins reading through the pointer
without first checking the size parameter. Fixed by checking the size parameter.

A new test case is added with an empty binary json file. Although the test does
not fail under normal conditions, the problem can be detected using valgrind or
AddressSanitizer.

Task-number: QTBUG-61969
Change-Id: Ie91cc9a56dbc3c676472c614d4e633d7721b8481
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-05-04 11:53:03 +00:00
Frederik Gladhorn
1e9da7b3fd Accessibility: Fix leaking cached interfaces
When the application closes, we should clear the cache to not run into
memory sanitizers claiming that we leak.

Change-Id: Ibf9fcda107be6b7f3ed414d7651080aa1f61a3a5
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
2018-05-04 10:56:35 +00:00
Gatis Paeglis
10b3286313 qpa: improve API to support DnDs from other processes
... instead of using a hack of directly accessing QGuiApplication
members.

The current QPA API was bad for two reasons:

1) It expects platform plugin authors to know about
internals of Qt Gui, particularly that QGuiApplication
uses QGuiApplication::{mouseButtons,keyboardModifiers}
to construct QDragMoveEvent and QDropEvent events. Which
results in the second reason why this is bad.

2) Platform plugins should not directly access member
variables of QGuiApplication, just to make sure that
QDragMoveEvent and QDropEvent events contain correct state.
Platform plugins should instead use QWindowSystemInterface
to communicate with Qt Gui (which is also the solution here).

The solution is to extend QWindowSystemInterface::handle{Drag,Drop}
to require mouse/keyboard state. We already do this for
some of the other methods, so it is nothing extraordinary.
This type of interface is also _required_ to support
drag-n-drops from other processes. We can't use
QGuiApplication::{mouseButtons,keyboardModifiers} when the
drag originates from another process, instead we need to
query mouse/keyboard state from the system.

This patch fixes drag-n-drops from others processes on XCB
platform plugin.

Task-number: QTBUG-57168
Change-Id: I3f8b0d2f76e9a32ae157622fef801829d629921d
Reviewed-by: Mikhail Svetkin <mikhail.svetkin@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2018-05-04 10:44:15 +00:00
Darrell Walisser
bd52d9d73b android: Add support for precompiled headers
Copied lines from common/g++-base.conf to enable support.

Task-number: QTBUG-51700
Change-Id: Ia2691cb137cac8b1378c5749892c36f0143570c9
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2018-05-04 10:25:05 +00:00
Filipe Azevedo
d2cf056648 Port placeholder rendering to palette placeholder color role
Change-Id: I7671d4b55677866b61627cc55a3029a3848f455d
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2018-05-04 08:53:12 +00:00
Filipe Azevedo
ebd3a13b80 Add a QPalette color role for placeholder texts
This allow to customize easily placeholders in QLineEdit by example.

Change-Id: I2bb379164376e1d88b42d6c86c2e5b8df99fbc56
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2018-05-04 08:53:06 +00:00
Thiago Macieira
de40f24706 Fix the enabling of AES with ICC and MSVC on some low-end processors
GCC and Clang assume that all Sandybridge (2nd generation) and newer
Intel Core™ processors have AES, which I used as a source of information
for this code. However, there are a few low-end parts that miss this
feature, like Intel Core™ i3-2350M, i3-3130M, i3-4000M.

[1] https://ark.intel.com/products/series/75025/4th-Generation-Intel-Core-i3-Processors

Task-number: QTBUG-67705
Change-Id: If90a92b041d3442fa0a4fffd1525b9afbcb6e524
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-05-04 06:49:50 +00:00
Christian Ehrlicher
4582a103c1 QFileSystemModel: remove unused function naturalCompare()
The implementation of the private function naturalCompare was removed
with 197da3d220 but the declaration was forgotten.

Change-Id: I14b44e3aeccac2c428e509f115ea93c4ba2a7c9b
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2018-05-04 04:49:37 +00:00
Christian Ehrlicher
ecdbaf99a1 QContiguousCache: add assertion to avoid negative capacity
The ctor of QContiguousCache and setCapacity are accepting negative
values for the capacity. While this should not be done it can happen by
accident. Therefore add Q_ASSERT to ensure a positive value.

Task-number: QTBUG-19700
Change-Id: I7458100c07c687cdeaebe86400343d79b5a6330a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-05-04 04:49:33 +00:00
Eskil Abrahamsen Blomfeldt
e28ae083d2 macOS: Fix stretch of condensed fonts with NoFontMerging
When showing a condensed font with AnyStretch, we should
not apply any stretch to the font (and if a stretch is
requested, we should calculate the actual stretch based
on how much the font is already stretched or condensed).

This usually works as expected, however, when using
QFont::NoFontMerging as the style strategy, we would
scale the glyph advances by the stretch of the font
since the calculated stretch of the font engine would
be overwritten by the actual stretch. In the case where
we use font merging, this would be done for the multi
engine, so we would not get the same issue, since the
text engine gets the stretch from the actual font engine
and this still has the original, calculated stretch
set.

Note on the test: We can't use testString() for this,
since it contains a space, and the test font does not
have a glyph for this, so we will end up merging a
different font for the space, giving us a slightly
different advance.

[ChangeLog][QtGui][macOS] Fixed display of condensed fonts
when NoFontMerging is in use.

Task-number: QTBUG-63800
Change-Id: I5b05e0dbfc8ae4b5d10c621ecb0975f53fda9483
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2018-05-04 04:46:48 +00:00
Gabriel de Dietrich
8447f5f006 QShortcut: Try harder to find a widget for parentless menubars
Add QPlatformMenuBar::parentWindow(). Since we call handleReparent()
every so often, it's reasonable to be able to get its value back.

While this parent window won't give us much information from
the point of view of the actual QWidget parent for the menubar,
the main reason we will need this is to check for modality blockage.
Indeed, QApplicationPrivate::tryModalHelper() only cares about the
widget's window since modality blockage is decided at the window level.

Change-Id: Ie79f483424b01e430bc9168ba82489e30d15aec6
Task-number: QTBUG-67938
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2018-05-03 22:51:01 +00:00
Lionel CHAZALLON
93cf1cf2e5 eglfs/kms: Add drm atomic zpos property handling
This adds the ability to specify a ZPOS property for the eglfs plane
ZPOS will allow to control the relative position between eglfs layer
and the other layers.

It is bound to using QT_QPA_EGLFS_KMS_ZPOS environment variable to determine
its value.

Change-Id: I51986ccb22a9dbaeef20165ac5feb7dbe8047373
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2018-05-03 18:40:42 +00:00
Liang Qi
eac736e0fb Merge "Merge remote-tracking branch 'origin/5.11' into dev" into refs/staging/dev 2018-05-03 16:04:52 +00:00
Edward Welbourne
0679b96338 Use QDateTime::toString(Qt::ISODateWithMS) instead of reinventing it
Following up on a review comment on commit
0a5f71c606.

Change-Id: I46924f5ad1b291039d22a3d6015d80306679ad26
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2018-05-03 14:03:18 +00:00
Oswald Buddenhagen
95b0e4c956 make it possible to override the basename of module config files
using qt$$MODULE isn't enough if the module is composed of submodules
which need the final module's headers, because that would require two
modules having the same module .pri file.

the first thought to fix this was to just use $$lower($$TARGET), but
that breaks for testlib (QtTest). while the config file name isn't
public api, it's included by a public header, so changing it is risky.

so instead stay with the original pattern, but make it explicitly
overrideable.

Change-Id: I758c46ed403620620d577ae16866ce751271b63e
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2018-05-03 12:59:04 +00:00
Liang Qi
60fefff22f Merge remote-tracking branch 'origin/5.11' into dev
Conflicts:
	examples/widgets/graphicsview/elasticnodes/graphwidget.cpp
	examples/widgets/graphicsview/elasticnodes/node.cpp
	examples/widgets/graphicsview/elasticnodes/node.h
	src/plugins/platforms/cocoa/qnsview.mm
	src/plugins/platforms/cocoa/qnsview_drawing.mm
	src/widgets/kernel/qmacgesturerecognizer_p.h

Change-Id: I13cf06bac75d48d779d8ee7b5c91bfc976f2a32c
2018-05-03 14:50:22 +02:00
Albert Astals Cid
6c5c1a562c cups: Show a dialog when asked for password
Otherwise the default cups implementation is used, that is,
asking for the password on the command line,
which is probably not what our users expect.

Change-Id: Ib563d542fee71c13ed23b1a99fbe06a7d4d4eadf
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2018-05-03 12:14:03 +00:00
Richard Moe Gustavsen
da32360ffc macOS: ensure mouse events from the global monitor has the correct button set
The global monitor will be used when popup windows are visible to
catch all mouse events. But only certain kind of NSEvents has a
buttonNumber set to something useful. So we need to check for
this case before we create a QPA event.

Task-number: QTBUG-60887
Change-Id: I5631c76ae82b8bfd232642036a08b5a8a29491c7
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2018-05-03 08:14:05 +00:00