Commit Graph

41616 Commits

Author SHA1 Message Date
Friedemann Kleint
c94e756f01 Polish the manual High DPI test
- Use C++ constructs like range-based for, member initialization
- Fix formatting in a few places
- Silence clang warnings:
  - Add override
  - Make member variables private

Task-number: QTBUG-80323
Change-Id: I5b0fda06acb6c8054aafa4dd934b763f8493a6b3
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2019-11-28 14:26:19 +01:00
Laszlo Agocs
ee3e0ed751 rhi: gl: Fix ms renderbuffer on WASM with WebGL2
Unlike renderbufferStorage, renderbufferStorageMultisample is not
guaranteed to accept the unsized GL_DEPTH_STENCIL internalformat. For the
former, WebGL 2 guarantees it for compatibility for WebGL 1, but the
multisample version does not exist in WebGL 1, so from the specs it is not
given at all that the unsized format would be accepted. So use the ES 3.0
sized format instead, like we would on a "real" ES 3.0 implementation.

Fixes: QTBUG-80296
Change-Id: I822ae382097085c0a3279c16bb69a173dbf15093
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2019-11-28 14:16:33 +01:00
Edward Welbourne
cfd2f3c46e Work around macOS's inconsistency in naming of India's time-zone
macOS fails to create a zone for the name its own systemTimeZone
claims to have (see new comment). So make sure we do consistently
recognize the name systemTimeZoneId() returns, using systemTimeZone
from which we got its name.

Add minimal testing of system time-zone.

Fixes: QTBUG-80173
Change-Id: I42f21efbd7c439158fee954d555414bb180e7f8f
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2019-11-28 14:16:33 +01:00
Eskil Abrahamsen Blomfeldt
2a4dd69499 CoreText: Fix getting system fonts on recent macOS/iOS versions
We introduced a work-around for iOS 11 which breaks on more
recent OS versions because we try to request meta-fonts by
name instead of using the special system font descriptors.

This would cause warnings on the console and Times New Roman
when requesting e.g. the system fixed width font.

When testing on iOS 12 without the work-around, we are no
longer able to reproduce the original issue, so the
assumption is that this problem has been resolved. Since
iOS 11 is not a supported target for Qt 5.14 we can remove
the work-around entirely.

[ChangeLog][macOS/iOS] Fixed a bug where QFontDatabase::systemFont()
would return the wrong fonts on macOS 10.15 and iOS 13.

Fixes: QTBUG-79900
Change-Id: Ie375c8c2ab877d6d66e3696662c4939f639a6e9e
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2019-11-28 06:08:45 +00:00
Aaron Linville
d60b71d635 Fix CONFIG += cmdline testcase creating app bundle paths in Makefiles
Fix an issue where qmake on macOS will generate a Makefile with a path
to a macOS bundle instead of a bundle-less executable in the Makefile's
check rule if cmdline is specified before testcase in the CONFIG
options.

Fixes: QTBUG-80280
Change-Id: Icc9ee1355b0641981ce79526b36f29957e1afb00
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2019-11-27 22:38:02 -05:00
Timur Pocheptsov
14ae881445 QSslSocket (OpenSSL) fix a resource leak
Introduced by fe6e54fb1f. The probability -> 0,
meaning malloc must fail to trigger it, but it is still a leak. We now use
std::unique_ptr which improves the code in general a bit and fixes a leak.

Change-Id: I6c0fa36953196d3235fb60354dc9ad2396d8dfcb
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2019-11-27 20:40:55 +00:00
Christian Ehrlicher
4422a9bd88 QWidget: don't set WA_PendingMoveEvent when geometry does not change
When the geometry of a hidden widget was set with setGeometry(),
WA_PendingMoveEvent and WA_PendingResizeEvent were set unconditionally
even if the crect already had the correct value. This lead to
unneeded Move/Resize events within sendPendingMoveAndResizeEvents().

Fixes: QTBUG-75475
Fixes: QTBUG-79906
Change-Id: Ibbe03882f039948b6b7c04887420741ed2e9c0f7
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2019-11-27 20:00:45 +01:00
Edward Welbourne
78cde1bfd9 Fix mis-guided init() in default QAndroidTimeZonePrivate constructor
It set the time-zone member sensibly to the default zone, but then
called init("UTC"), which over-wrote that default with UTC.  This had
no visible effect (as the default-constructed object is only used to
access methods that (though virtual) are effectively static), but was
needlessly complicated.

Tidied up systemTimeZoneId() at the same time.

Change-Id: I897aff16855c28487a1029bef50c75ebc1ff5b55
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-11-27 18:27:43 +01:00
Edward Welbourne
c20c7efea9 Sanitize QAndroidTimeZonePrivate::init()
It was setting the system zone ID if it somehow managed to find a
match for an empty zone name; that makes no sense.

A case-insensitive comparison seems reasonable for the "this isn't
just a default zone object, used because the name I asked for isn't
recognized" check.

It set m_id after it had checked everything, where it could just as
well have used m_id as the variable in which to record whether its
check has succeeded already.

It was using the name it was asked for, rather than the one this ended
up being mapped to, which is probably a better name to use for
it. (This should only differ in case.)

Split a long line.

Change-Id: I41a3b01ba99522ee68f3d7941c532019b9ebf946
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2019-11-27 18:27:43 +01:00
Edward Welbourne
52affd322c Be consistent in the RFC2822Date invalid character tests
The ones we reject used a zero offset while the one that does parse
(though it shouldn't - revised comment) has a one hour offset. Made
them all use that offset and added a partner test that has no invalid
characters, so ensure the success of the invalid character tests isn't
due to falsely rejecting the valid date/time text to which the invalid
characters are added.

Task-number: QTBUG-80038
Change-Id: I6e3dd79b981af6803e60877229c56599cfd719cb
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-11-27 18:27:43 +01:00
Edward Welbourne
0debb205b2 Permit leading space at start of RFC 2822 Date format
Relevant RFCs explicitly permit such space.

Change-Id: I8eb444e96287368cbbf973c77513b43d1d36f972
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-11-27 18:27:43 +01:00
Edward Welbourne
6566157df3 Make Qt::RFC2822Date's doc match up with its implementation
The qdatetime implementation's rfcDateImpl() uses regexes which did
not match its comments; nor did either the regexes or the comments
match what was documented. A review of relevant RFCs suggests we
should revise this in future, probably at Qt 6.

The documentation also only addressed the formats recognized when
parsing a date-time, without indicating how they are serialised or how
dates and times are handled separately.

Added a note to the tests for the read-only formats, to remind the
reader that the RFCs merely recommend recognising these - be
permissive in what you expect and strict in what you deliver.

Change-Id: I0f0bec752e7a50bde98cceceb7e0d11be15c6a6f
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-11-27 18:27:43 +01:00
Fredrik Orderud
8a60244da8 Fix renderbufferStorageMultisample: invalid internalformat
Chrome 78 is outputting "INVALID_ENUM: renderbufferStorageMultisample: invalid
internalformat" when running a Qt application after building it for WebAssembly (WASM)
against the Qt 5.13 branch using the Emscripten 1.39.3 (upstream) compiler.

The problem appear to be caused by glRenderbufferStorageMultisample not supporting
GL_DEPTH_STENCIL directly. Instead, GL_DEPTH24_STENCIL8 or GL_DEPTH32F_STENCIL8
should be passed. Keeping the glRenderbufferStorage call as-is.

Change-Id: I777dbc26b1d989950525a434a25ed344389f5059
Reference: https://www.khronos.org/registry/OpenGL-Refpages/es3.0/html/glRenderbufferStorageMultisample.xhtml
Fixes: QTBUG-80286
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2019-11-26 21:03:33 +01:00
Ben Boeckel
d5608ca437 Qt5CoreMacros: properly check the CMake version
The POSITION_INDEPENDENT_CODE property was introduced in 2.8.12, so
use it in versions newer than 2.8.12.

Fixes: QTBUG-79671
Change-Id: If7f023e80964f2e47edc35eee617b51aeecbf032
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2019-11-26 20:17:07 +01:00
Christian Ehrlicher
cd3585ab15 QDial: use correct button color
When the pixmap for the QDial was cached, the button color for the knob
was not properly set

Fixes: QTBUG-19855
Change-Id: Ib09ac12f0b11c47a0d05f01759fc6eeadbeab06c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2019-11-26 20:01:10 +01:00
Friedemann Kleint
e1d173d3ca Fix qdoc include paths for QStandardPaths
Amends c30ffe1d33.

Fix
src/corelib/io/qstandardpaths.cpp:361: (qdoc) warning: Cannot find qdoc include file 'standardpath/functiondoc.qdocinc'
src/corelib/io/qstandardpaths.cpp:368: (qdoc) warning: Cannot find qdoc include file 'standardpath/functiondoc.qdocinc'
src/corelib/io/qstandardpaths.cpp:392: (qdoc) warning: Cannot find qdoc include file 'standardpath/functiondoc.qdocinc'
src/corelib/io/qstandardpaths.cpp:406: (qdoc) warning: Cannot find qdoc include file 'standardpath/functiondoc.qdocinc'
src/corelib/io/qstandardpaths.cpp:479: (qdoc) warning: Cannot find qdoc include file 'standardpath/functiondoc.qdocinc'
src/corelib/io/qstandardpaths.cpp:537: (qdoc) warning: Cannot find qdoc include file 'standardpath/functiondoc.qdocinc'
src/corelib/io/qstandardpaths.cpp:594: (qdoc) warning: Cannot find qdoc include file 'standardpath/functiondoc.qdocinc'

Task-number: QTBUG-79827
Change-Id: I8eb0ae7bc167151979c729964d2dc3f171e10568
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2019-11-26 20:01:10 +01:00
Eirik Aavitsland
da0af1e21d Doc: Improve explanation of QLineEdit input mask
The explanation of the input mask syntax and behavior was somewhat
unclear.

Task-number: QTBUG-76320
Change-Id: I45dc4a883c491d3dc08125b0f7efad46f2a9a33f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2019-11-26 09:53:26 +01:00
Thiago Macieira
31e94dc96c QGb18030Codec: fix out-of-bounds access when decoding surrogate pairs
This is already the second surrogate of the pair, there's no need to +
+i.

Fixes: QTBUG-80268
Change-Id: Ia2aa807ffa8a4c798425fffd15d9a48ee0ca8ed7
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2019-11-26 05:08:28 +01:00
Friedemann Kleint
9a82a29000 Styles example: Use system style per Default
The example is useful as a gallery for widgets in
which case the custom Norwegian Wood style is not primarily interesting.

Change-Id: I96e304f97edeb43da6e8f572e01a768b1317722c
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2019-11-25 19:31:56 +01:00
Andre de la Rocha
b8cf3c3500 Windows QPA: Disable the native Windows OSK if Qt Virtual Keyboard is in use
This change detects that the Qt Virtual Keyboard is in use through the
QT_IM_MODULE environment variable and disables the native Windows OSK
accordingly, to avoid showing both virtual keyboards at the same time.

Task-number: QTBUG-76088
Change-Id: I2715b337e6de729f0514ea1892b94b3c4f9cd984
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2019-11-25 18:02:41 +01:00
Tor Arne Vestbø
770a1d7156 macOS: Replace use of deprecated acceptsTouchEvents API
The equivalent of setting acceptsTouchEvents to YES is enabling
indirect touches. Direct touches are enabled by default by AppKit,
but can be explicitly disabled by clearing the NSTouchTypeMaskDirect
bit.

Change-Id: I5ba09d36f6ee2ce962e3ce21bab06537dd1fa5ad
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2019-11-25 18:00:23 +01:00
Tor Arne Vestbø
3c90ac02d1 macOS: Replace use of deprecated NSDragPboard enum
Change-Id: I90128abe310f971a89ecb6551e31950211adda77
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2019-11-25 18:00:17 +01:00
Andy Shaw
84892e5e69 Get make docs working better on macOS
The system include paths need to be added to the include
paths passed to Clang so it can find the standard types.

Change-Id: I83e13e73a606130e3bc4762b01368bcd4a8bb0dc
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2019-11-25 17:43:23 +01:00
Alexandru Croitor
8c6824f2af CMake: Fix static build linkage with CMake version lower than 3.13
After appropriate link flags are determined, they are added to the
INTERFACE_LINK_OPTIONS property. Unfortunately this property was added
in 3.13, and thus static builds on Windows for instance failed with
missing symbols due to missing system libraries on the link command
line, when the CMake version was lower.

When detecting a lower version, add the flags instead to
INTERFACE_LINK_LIBRARIES, which is a property that is available in
older CMake versions. To do this we have to strip the SHELL: prefix,
which means that the added link flags might get deduplicated, and thus
it can happen that the linking phase might still fail.

Nevertheless, on Windows this improves the situation when using an older
CMake version.

Amends 44602224bf

Task-number: QTBUG-38913
Change-Id: Ib710b8ea691d4a9281dcd5f5b9700b11df0a5c10
Reviewed-by: Kyle Edwards <kyle.edwards@kitware.com>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-11-25 09:14:09 +01:00
Jimi Huotari
2e7c83ea38 Fix build with -xcb and -no-libinput
Since a34e81ab [1], 'xkbcommon_support' is under
'src/platformsupport/input', and will not be defined when building
with -no-libinput, and as such, 'xkbcommon_support-private' added in
'src/plugins/platforms/xcb/xcb_qpa_lib.pro' will be unknown.

1. https://code.qt.io/cgit/qt/qtbase.git/commit/?h=5.14&id=a34e81ab

Change-Id: I79563b329623651b462b8fedcfb59ef5f2c2e52a
Gentoo-bug: https://bugs.gentoo.org/699110
Suggested-by: Petr Zima <zima@matfyz.cz>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2019-11-23 20:33:31 +02:00
Friedemann Kleint
4ac8505778 Show the styles example under 'gallery' on Qt Creator's example screen
Add meta tag 'gallery'.

Change-Id: I8d670d6eb7641bdc82944a85b7335eee26bcc573
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2019-11-23 11:32:14 +01:00
Thiago Macieira
bcbefcd645 QCborValue: Extend the constructor to also create extended types
We already did that when parsing from CBOR binary data, so the code was
already present.

[ChangeLog][QtCore][QCborValue] The constructor taking a CBOR tag and a
value to be tagged now attempts to convert to a QCborValue extended
type. For example, if the tag is 0 (UnixTime_t) and the payload is a
number, the resulting object will become tag 1 (DateTime) and the
payload will be the the ISO-8601 date/time string.

Fixes: QTBUG-79196
Change-Id: I6edce5101800424a8093fffd15cdf650fb2fc45c
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2019-11-23 02:14:42 +01:00
Thiago Macieira
8027fb60dd Fix QCborValue::toCbor with non-ASCII URLs
Found while fixing QTBUG-79196.

Change-Id: Ia2aa807ffa8a4c798425fffd15d841657def99af
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2019-11-23 02:14:39 +01:00
Kai Uwe Broulik
935681eaca QSortFilterProxyModel: Add change signals for properties
Makes it more easily consumable from QML.
This patch only adds them for properties where no behavior change
(i.e. no "if (m_foo == foo) return" changes) is necessary.
The other ones will be done in a follow-up patch.

Change-Id: If9f35cf9ac382e6f626db138a88eb14cebda1d52
Reviewed-by: David Faure <david.faure@kdab.com>
2019-11-22 19:45:18 +01:00
Laszlo Agocs
5142fe2c54 rhi: d3d11: Do not rely on Win10-only enum value
When building against a 8.1 or older SDK the Windows 10-only value
DXGI_SWAP_EFFECT_FLIP_DISCARD may not be present. Just use the value
directly. At runtime that code path cannot be hit anyway when running
on 8.1 or older.

Task-number: QTBUG-80084
Change-Id: I0974b82db770e5487315798432ee601937b96c5e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2019-11-22 13:06:32 +01:00
Robert Loehning
924887965c Fuzzing: Update location of testcases in Readme
At the time of writing, they were still planned to be in qtbase.

Change-Id: I27cba2bbd176d930990270ea68f077ec6e0a2d5b
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2019-11-21 13:41:18 +01:00
Morten Johan Sørvig
73a764c247 Don’t warn on QT_AUTO_SCREEN_SCALE_FACTOR usage
This warning turned out to be spammy, since the env.
variable may be set by KDE, in which case there is
nothing the user or app developer can do to fix the
situation.

QT_AUTO_SCREEN_SCALE_FACTOR is now Done on X11, and
remains Deprecated on all other platforms.

Change-Id: I9d372655624b0e0b822f0a70e9aec4b18ab98630
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2019-11-20 15:19:24 +01:00
Joerg Bornemann
5d1af4f0be Compile fontconfig-related code on non-Unix platforms
...if the feature is enabled.
This fixes the build for MSYS2 with fontconfig.

Fixes: QTBUG-79748
Change-Id: I2c834b6d968766f98c5df2f3df5c8c9bdbd80f11
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2019-11-20 13:12:19 +01:00
Alexander Volkov
3b98fe7f77 xcb: Simplify code by using helper QXcbIntegration::defaultConnection()
Change-Id: Ieb0e21d85fcd0c168b1bb090e967d02a8a6a6083
Reviewed-by: Mikhail Svetkin <mikhail.svetkin@gmail.com>
2019-11-20 14:37:49 +03:00
Andre Hartmann
c8df1a2c6d QTemporaryFile: Add a note about behavior on Linux
Mostly copied from the 5.10 changelog file.

Task-number: QTBUG-80157
Change-Id: I58654fe998ada603241b9a7cb967f55e66ebc954
Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
Reviewed-by: Tomasz Siekierda <sierdzio@gmail.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-11-20 12:04:56 +01:00
Kari Oikarinen
315c2c468e tst_QScopeGuard: Remove unused lambda capture
qt5/qtbase/tests/auto/corelib/tools/qscopeguard/tst_qscopeguard.cpp💯38:
      warning: lambda capture 'caught' is not used [-Wunused-lambda-capture]
        auto cleanup = qScopeGuard([&caught] { s_globalState++; });
                                    ~^~~~~~

Change-Id: I0d9b85896594f3ea35c8003846d4ac7ab5e33d16
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-11-19 18:33:43 +02:00
Christian Ehrlicher
d7cb21ac08 QDom: use QLocale::C when converting a double to a xml attribute
QDomElement::setAttribute(QString, double) did not use QString::setNum()
but qsnprintf(). This is wrong because qsnprintf() is using the current
locale instead QLocale::C. It was also inconsistent to
QDomElement::setAttributeNS() which was already using QString::setNum().

Also fix the documentation which stated that all
QDomElement::setAttribute() format the values according the current
locale.

Fixes: QTBUG-80068
Change-Id: Iabb0b39c0d0723060527542c283a5435f26f31ca
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-11-19 17:33:33 +01:00
Christian Ehrlicher
ede867f581 QWheelEvent: add \since flag for ctor
c08bf215cc added a new QWheelEvent ctor
but missed the \since flag.

Fixes: QTBUG-80088
Change-Id: I6c81179999dd100162dc0cd5dc28e7b5b843b437
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2019-11-19 17:33:21 +01:00
Samuel Gaist
54d5ca0c27 Doc: improve Using Model Indexes in Model View Programming guide
The current example using QFileSystemModel doesn't take into account the
asynchronous nature of that model. This puts people on the wrong path on
how to use it.

This patch improves the snippet as well as the explanation steps.

Change-Id: I5c7a3c19aad48847f0b965b5eb69b492d6263f51
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2019-11-19 08:56:44 +01:00
Yuhang Zhao
9567103f38 qmake: Remove /O3 from win32-icc
Use O3 causes warnings when combined with O2, so just remove it.

Partially revert commit 11111c5a7d

Change-Id: Ifbf6e024e35933ecc3610d6efc3423589dab9a38
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-11-19 13:48:09 +08:00
Samuel Gaist
6a7a4aac0a Doc: add warning for binding values in QSqlQuery
Not all SQL operations support binding values like the PRAGMA
instruction of SQLite. This patch adds a warning for the developer to
make it clearer that binding values cannot be used for everything.

Task-number: QTBUG-80082
Change-Id: Ie1d33815d74a0759a3593df9410b8bad448f6fe9
Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
2019-11-18 23:52:36 +01:00
Friedemann Kleint
d17094df60 Sub-Attaq: Fix compilation with -no-opengl
Add missing include removed by 13426aff24.

Fixes: QTBUG-80163
Change-Id: I6b81f399a3abf637a2023700baac09b631d652d5
Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
2019-11-18 15:45:41 +01:00
Mitch Curtis
17ec21e824 Android: remove remaining reference to -android-toolchain-version
This amends 65dfc485ad.

Change-Id: I5e0ec7632befe0650138d1977d42313dc0acf3bf
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2019-11-18 14:13:32 +01:00
Venugopal Shivashankar
c30ffe1d33 Doc: Move the common documentation to a qdocinc
The member functions of QStandardPath and
Qt.labs.platform.StandardPath behave the same, so
it's ideal to maintain their documentation in one place.

Task-number: QTBUG-79827
Change-Id: I349dbb85cd9b6a3bedac329c0707fc07057cd64b
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2019-11-18 12:34:32 +01:00
Joerg Bornemann
52c8e9dc99 Fix precompiled headers on macOS
Since commit 059172c6 precompiled headers did not work anymore on
macOS, because the ${QMAKE_PCH_ARCH} string was suddenly appearing in
locations where it was not replaced with the actual architecture, e.g.
the directory where the PCH files are written.

Fix this by replacing the whole file path and not just portions of it.

Fixes: QTBUG-79694
Change-Id: I925d4ee8980a0de3205a0e387a516a5c6f8cfa4b
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2019-11-18 10:46:56 +01:00
Edward Welbourne
4218c3044d Revert "[macOS] Skip test that triggers a buffer overflow in CoreFoundation"
Allegedly Apple has fixed the bug that made this necessary, so we
should be able to include these two test-cases once more.

This reverts commit ba9585bd02.

Fixes: QTBUG-69875
Change-Id: I5ac6019c0d647691eda6cdbb2a53e7471859d4a3
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2019-11-18 10:15:39 +01:00
Thiago Macieira
737fd5550b Change the QtCore library output to show the plugin path
It's a lot more useful than the include dir. It actually helps debug
problems.

Change-Id: I1496b069cc534f1a838dfffd15ca07fe8ad1c8c6
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2019-11-18 01:41:06 -07:00
Florian Korsakissok
61def1f6cd HiDPI: Select most fitting pixel ratio when painting QIcon
There is a way to select a better pixel ratio when the QPainter has a
valid pointer to a QPaintDevice than simply getting the global app
pixel ratio.

Change-Id: I8f89fd01094bbac7a01a83be89991730b0fa6597
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
2019-11-18 07:34:32 +00:00
Eirik Aavitsland
54f5b89750 Fix: QIcon high dpi scaling when aspect ratio differs
When an icon engine is asked to produce a pixmap scaled to a certain
size, it may return one with a different aspect ratio than
requested. In particular, an SVG will use its own aspect ratio, as it
should. QIcon's DPR calculation would break down in this case,
resulting in ugly scaling.

Fixes: QTBUG-79371
Change-Id: Id97049259dcee1a2980474250ef1163be5639085
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2019-11-15 11:55:05 +00:00
Daniel Teske
9f48f1ebc2 QLineEdit: Fix End key for input masks
Consider this simple example:
   QLineEdit edit;
   edit.setInputMask( "9-9-9-9-9-9" );
   edit.show();

Without any input, m_text will contain: " - - - - - ". text() removes
the input mask's mask characters from that and returns "      ". A string
with 6 spaces. Thus currently the End key jumps to position 6, which is
in the middle of the string. Using m_text the End key jumps to the actual
end.

[ChangeLog][QtWidgets][QLineEdit] Fixed End key in combination with
certain input masks.

Task-number: QTBUG-16187
Task-number: QTBUG-20414
Change-Id: Ibb30a1dfa2f78103611b5afc9971dc43e8bdcc4a
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2019-11-15 13:40:05 +02:00