Commit Graph

47203 Commits

Author SHA1 Message Date
Andy Shaw
37c68503cb QFont: Extend the string description to include the missing elements
This extends to/fromString to include style strategy, capitalization,
letter and word spacing and stretch. QFont::fromString() keeps
compatibility with strings from earlier versions as well.

Fixes: QTBUG-67687
Change-Id: I5e95a58f1cd850214af2a7d8906a214facd4e661
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2020-08-22 22:21:35 +00:00
Tor Arne Vestbø
81e09ae404 xcb: Fix flushing of native subwindows when not using shared memory
When using X-forwarding we're not using shared memory for the backing
store image, and end up in a code path where we first copy the updated
parts of the backing store from our client side image over to the server,
and then flush those parts from the server-side image to the window.

The problem was that this code path didn't account for the possibility
that we'd flush a sub-window at an offset, and would end up uploading
the sub-window local region directly, without applying the offset.

This problem was revealed when 79bf1b7e34 started being smarter
about what regions we flush and to what windows when we have sub
windows.

Fixes: QTBUG-81723
Pick-to: 5.15
Pick-to: 5.12
Change-Id: I1c9c8bc53c088cdc1ae8b892e17930f4a468ccad
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
2020-08-22 21:47:36 +02:00
Edward Welbourne
16e546e32f Properly deprecate Qt::MidButton in favor of Qt::MiddleButton
MidButton had its // ### Qt 5: remove me
upgraded to Qt 6 at 5.0; but it dates back to 4.7.0

Replace the many remaining uses of MidButton with MiddleButton in the
process.

Pick-to: 5.15
Change-Id: Idc1b1b1816673dfdb344d703d101febc823a76ff
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-08-22 21:47:36 +02:00
Nicolas Guichard
4b1ffab8ad QGuiApplication: fix handling of spontaneous events' modifiers
QtQuickTest synthetized events can have modifiers, but those modifiers
were not accessible globally, from QGuiApplication::keyboardModifiers
for instance.
eg. calling QML's TestCase::mouseClick with modifiers triggering a call
to QGuiApplication::keyboardModifiers did not give the expected result.

QtTest synthesised events can also have modifiers and those were
correctly handled by QApplication to set modifiers globally.

This fix moves the handling code from QApplication::notify to
QGuiApplicationPrivate::maybeSimulateModifiers and calls this function
from QGuiApplication::notify too.

The definite fix would be to do as suggested in the comment attached to
the moved code:
> Qt Test should not call qapp->notify(), but rather route the events
> through the proper QPA interface. This is required to properly
> generate all other events such as enter/leave etc.

Pick-to: 5.15 5.12
Change-Id: I734e5bbc82232b13828b1a1f82e06ee8eb695417
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-08-20 17:57:55 +02:00
Sona Kurazyan
35d90cb898 Resolve the remaining open ### Qt6 comments of QJsonValue
Changed QJsonValue to use QCborValue for data storage. Removed unused
internal methods.

Task-number: QTBUG-85700
Change-Id: I784fc7c0c4407f79eb7ca87a1f5116f00c26155d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-08-20 17:25:09 +02:00
Alex Trotsenko
a41c61fb2d QIODevice: implement a "zero-copy" strategy for buffered writes
It works as follows:

  - user calls write(const QByteArray &);
  - this function keeps a pointer to the chunk and calls a regular
    write(data, len);
  - write(data, len) calls a virtual writeData();
  - subclass calls a new QIODevicePrivate::write();
  - QIODevicePrivate::write() makes a shallow copy of
    the byte array.

Proposed solution is fully compatible with existing subclasses.
By replacing a call to d->writeBuffer.append() with d->write(),
subclasses can improve their performance.

Bump the TypeInformationVersion field in qtHookData, to notify the
Qt Creator developers that the offset of QFilePrivate::fileName was
changed and dumpers should be adapted.

Change-Id: I24713386cc74a9f37e5223c617e4b1ba97f968dc
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2020-08-20 18:24:15 +03:00
Joerg Bornemann
729d102b1c CMake: Implement configure -optimize-debug
Task-number: QTBUG-85373
Change-Id: I3aba1fcf96e36544dd75a5e6adc5f770a9a45726
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-08-20 17:07:53 +02:00
Joerg Bornemann
2f1a55c0b1 CMake: Implement configure -linker [bfd,gold,lld]
Fixes: QTBUG-86155
Change-Id: I5ba2d3b52d9ca240b48904c492f7902a056c0292
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-08-20 17:07:49 +02:00
Joerg Bornemann
df28355981 CMake: Support configure tests of type 'compilerSupportsFlag'
Task-number: QTBUG-86155
Change-Id: Iaa5c48b6508870a0f6afdf9df66cd2e634fe19b3
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-08-20 17:07:46 +02:00
Joerg Bornemann
45d3c75ab6 CMake: Fix configure -redo on Unix
One can now place a config.opt file in an otherwise empty build
directory and call 'configure -redo'. If config.opt contains the
-cmake argument, Qt will be built with CMake as expected.

To achieve that, configure must peek into config.opt and look for the
-cmake argument.

Fixes: QTBUG-86097
Change-Id: I35f76caca862e5a59c2fb850e0aeb6529c826149
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-08-20 17:07:09 +02:00
Cristian Adam
c4d3e5d7d3 CMake Build: Use EGL library as dependency for GLESv2
On QNX the feature detection of GLESv2 is failing due to missing
symbols which are part of EGL library.

Add EGL library as a dependency if it's found on the system.

This allows OpenGL ES feature detection to work on QNX.

Task-number: QTBUG-83202
Change-Id: I90531d925fadce5d893ea9244793fc02a4595ed1
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-08-20 14:41:49 +02:00
Cristian Adam
73277763c1 CMake Build: Add QNX 7.1 build support
This commit allows building Qt6's QtBase using QNX 7.1 and a toolchain
file which is almost identical to what CMake has in its documentation:
https://cmake.org/cmake/help/latest/manual/cmake-toolchains.7.html#cross-compiling-for-qnx

set(CMAKE_SYSTEM_NAME QNX)

set(arch gcc_ntoarmv7le)

set(CMAKE_C_COMPILER qcc)
set(CMAKE_C_COMPILER_TARGET ${arch})
set(CMAKE_CXX_COMPILER q++)
set(CMAKE_CXX_COMPILER_TARGET ${arch})

set(CMAKE_SYSROOT $ENV{QNX_TARGET})

The only difference is the usage of q++ instead of QCC, which is no
longer present in QNX 7.1 SDK.

Task-number: QTBUG-83202
Change-Id: I51031540721275f2ee83cee9e7df4994a65db0e2
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-08-20 14:41:36 +02:00
Edward Welbourne
f22ad1afec Tidy up qnamespace.qdoc's enums' \omitvalue entries
Moved \omitvalue entries to the end (unless there was only one, at the
start). Sorted Qt::WidgetAttribute's to match their order in the
declaration, as there were many and their order was haphazard.

Change-Id: I41d27df0fc293f642f931177b0d8884fbbcb9b77
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-08-20 09:03:32 +02:00
Edward Welbourne
a84589cb69 QCalendarBackend: format "enum" as code where used
Also mark some internal methods as \internal.

Pick-to: 5.15
Change-Id: I0ae8dc315e5012eea2f3c35ae7d09c3cbb318ab5
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-08-20 09:02:53 +02:00
Edward Welbourne
4c2fbe90ef Document QCalendarBackend::name()
Neglected previously.

Pick-to: 5.15
Change-Id: I0acd9f77d1623a1fcd8766f734c350316401b3a9
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-08-20 09:02:27 +02:00
Edward Welbourne
a111dd26b1 Document the indexing used in the Unicode tables
Make clear why we don't need to assert against out-of-bounda accesses
in the generated code, provided the code point is within its bound,
(Using one table's early entries as indices into later in the same
table at which to look up indices into another table made it a little
hard to work out what was going on, especially as nothing told me
about the early / late distinction. Record what I discovered, to save
the next person to stumble into this some confusion.)

Change-Id: I8e5771a7f3d70c1911aeae1b0cabe5c47bc7e9c7
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-08-20 09:02:00 +02:00
Andy Shaw
e1971c60f1 Doc: Mention no_testcase_installs which can be used to prevent install
Change-Id: If8044a339cab754d427fd7626dd6813c7cc99e56
Pick-to: 5.15 5.12
Fixes: QTBUG-85827
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-08-20 09:01:28 +02:00
Edward Welbourne
bddafeb2e1 Turn comments about passing QDate, QTime by value into docs
This is already changed throughout qtbase, aside from template
specializations where passing by reference is required by the
template. Revise QDate and QTime documentation to say they are best
passed by value.

Change-Id: I0b05f42b273bf1fd4c412247a9372113b7e40561
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-08-20 09:01:22 +02:00
Friedemann Kleint
92d4d490fe Fix a number of qdoc warnings
- Remove obsolete functions and enumeration values
- Remove QObject * parameter from QMetaProperty accessors
- Fix renamed enumerations in QSsl
- Fix list items to be \li
- Fix function signatures and variable names

Change-Id: I37c7e6bf2c8ff92bc7b82620bae0a27796f866ab
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-08-20 07:51:05 +02:00
Friedemann Kleint
1f1f000327 Fix deprecation warnings in QtSql code snippets
Use QMetaType for constructing a QSqlField, fixing:
ccode/sqldatabase/sqldatabase.cpp:91:41: warning: ‘QSqlField::QSqlField(const QString&, QVariant::Type)’ is deprecated: Use the constructor using a QMetaType instead [-Wdeprecated-declarations]

Change-Id: If420ad3d7f5d9dce05ad892cddf84a1b77a45b3f
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2020-08-20 07:50:56 +02:00
Friedemann Kleint
0a4b984421 Fix qHash(const QModelIndex &index)
The default seed = 0 parameter was missing, so, it was never used.
Manifested as a failing test in Qt for Python (bug_PYSIDE-41.py).
Amends c6cdf38e75.

Change-Id: Ia3db8b6123a695d839fbec419b8d316991d18bf7
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2020-08-20 07:50:47 +02:00
Michael Weghorn
32c09ea5b0 xdgdesktopportal: Avoid dangling pointer
Use pointer to newly inserted element in 'filterList'
since local variable 'filter' goes out of scope at the end
of the block.

This is a follow-up for commit
3e09c28101
("Filechooser portal: Implement "current_filter").
Thanks to Giuseppe D'Angelo for pointing this out in that
commit's Gerrit change.

Pick-to: 5.15
Change-Id: I9af35c46315c7f90721d0d39b0fda6384c15786a
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2020-08-20 07:43:24 +02:00
Alex Trotsenko
c0097d1521 Remove QSslSocket::abort()
QAbstractSocket::abort() is not a virtual function and
QSslSocket::abort() does not override it. Having two alternatives
requires a dynamic typecasting and violates the principles of object-
oriented programming.

Due to the BC, we were unable to fix that in Qt5. Now, we can modify
QSslSocket::close() to handle QAbstractSocket::abort() requests and
remove the duplicate.

Change-Id: I49d6f32a571ae6e35b08cb366816f917e580dae8
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2020-08-20 08:33:09 +03:00
Paul Wicking
0a12416172 Doc: Drop dependency on qtgraphicaleffects
qtgraphicaleffects is not part of 6.0, drop the doc dependency.

Change-Id: I64a355860e0a3a92fa0ffe5ed960796f2e756d61
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2020-08-20 06:31:44 +02:00
Paul Wicking
0bd8dd7e87 Doc: Use https in links that don't redirect properly
Change-Id: If9f28851e8df6ed488590d06db8c0791214c4a95
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2020-08-20 06:31:42 +02:00
Paul Wicking
d3ccb5904d Doc: Improve thread safety docs
* Add missing \threadsafe command.
* Add missing note for methods callable only from the started thread.
* Expand note on excerting care when interacting with objects across
  threads in QThread's class overview documentation.

Fixes: QTBUG-86112
Pick-to: 5.15
Change-Id: I8f181d92ad6196ff0c13f5a866a36793209a75ab
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-08-20 04:57:54 +02:00
Karsten Heimrich
2766322de3 Move QStringRef and remains to Qt5Compat
Export some private functions from QUtf8 to resolve
undefined symbols in Qt5Compat after moving QStringRef.

Task-number: QTBUG-84437
Change-Id: I9046dcb14ed520d8868a511d79da6e721e26f72b
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-08-20 00:58:13 +02:00
Timur Pocheptsov
eb7d1cf098 QSslContext - do a little cleanup (OpenSSL)
1. Remove a useless forward declaration of a non-existing class.
2. Simplify the cipher filtering.
3. A missing private key (when local cert is present) found
   by the Qt, not OpenSSL, so no need in asking OpenSSL for errors
   in  queue.
3. Fix a potential double-free (for opaque keys).
4. read/write BIOs normally owned by SSL object, but if
   we fail to allocate any of them, we return early,
   potentially failing to free the one that was allocated.

Change-Id: Ifb52fbc9fd1a38f101bd7ff02e79b82d6eb7e5b0
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2020-08-19 20:22:10 +02:00
Volker Hilsheimer
de1d5f6a94 QFileSystemModel: don't display a modal messagebox on error
A model is the wrong place to display a modal dialog when a call to
setData failed. The call returns false already, and the caller can
handle the error appropriately, presumably knowing best what failed and
how to present the user with options.

Task-number: QTBUG-66177
Change-Id: I069209d51a577177bc278aeb08a92c95029dc962
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
2020-08-19 20:21:59 +02:00
Volker Hilsheimer
71b4b6b555 Clean up itemviews after QStyleOption version cleanup
Change-Id: I56cb1cfd9977dedd89947dfe2bf9edb70297e31f
Task-number: QTBUG-84221
Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch>
2020-08-19 20:21:50 +02:00
Volker Hilsheimer
4292ad0292 QMenu: make less sensitive to mouse jitter
On systems where a right-press brings up the menu, the next mouse
move will select an action, even if it's just a move by a single pixel.
This makes it too easy to activate an action on e.g a context menu
accidentially when the button is released.

Ignore the first couple of mouse moves, using the same logic that
prevents accidental tearing off.

Change-Id: Ib4dd448ef2d6ae915b48da62666aa95b37145d63
Fixes: QTBUG-57849
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
2020-08-19 18:21:35 +00:00
Karsten Heimrich
ecfb5d2d15 Port QXmlStreamReader from QStringRef to QStringView
Use the new QtPrivate::XmlString class as the container holding
the string data internally. It basically a "QStringRef lite",
purely used in the implemntation. This replaces all usages of
QStringRef in the parser.

Fixes: QTBUG-84318
Change-Id: I557bbc6831301866602586d11d53283affd034a8
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-08-19 19:48:13 +02:00
Lars Knoll
8dc7761e6d Fix QXmlStreamSimpleStack to work also with non POD data types
The current code is already undefined behavior, as QStringRef is not POD.
It happened to work, because the destructor is empty. Fix this and rather
let the compiler determine whether it needs to call any constructors
or destructors.

Change-Id: Idc8710df539603b0ca401a9453f2501f01beaab4
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-08-19 19:48:11 +02:00
Karsten Heimrich
3398eeadf6 Refactor QXmlStreamStringRef
Use a QStringPrivate inside the implementation. This saves
two pointers, and actually makes this a safe replacement for
QStringRef inside the implementation of QXmlStreamReader.

Unexport the class as all members are inline, and move it
into the QtPrivate namespace as class QXmlString.

Change-Id: I43fa4684f569514c8c621838dcc346657ac1a915
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
2020-08-19 19:48:10 +02:00
Lars Knoll
551eef1aa6 Smaller change towards using QStringView
Change-Id: I6e74a83303e2d9dd278b47aaf488e717eca3fc6d
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-08-19 19:48:10 +02:00
Lars Knoll
6eb1cdd1c6 Refactor qxmlstream_p.h
Pull the file apart, so that the parts generated from qxmlstream.g
are separated from the definition of the private class.

This will in the future simplify maintenance and refactoring.

Change-Id: I4a9c1bb1e377dee1e6d3b9aa9b0dfa64c5806c45
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
2020-08-19 19:48:09 +02:00
Karsten Heimrich
2fa660f436 Cleanup QXmlStreamStringRef
Remove unused methods and prepare for changing the implementation
so we can get rid of all QStringRef usages in the stream reader.

Change-Id: I5964352cad781faf791e360553636076b5818c6d
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
2020-08-19 19:48:05 +02:00
Karsten Heimrich
a8028a02df Port the QXmlStream API from QStringRef to QStringView
This gives some source incompatibilities, most of them can be
handled by using auto instead of QStringRef explicitly.

[ChangeLog][Important API changes] QXmlStream now uses QStringView
insteead of QStringRef in it's API. Using auto forvariables returning
a QStringRef in Qt 5 should lead to code that can be used against both
Qt versions.

Fixes: QTBUG-84317
Change-Id: I6df3a9507276f5d16d044a6bdbe0e4810cf99440
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
2020-08-19 19:48:03 +02:00
Fabian Kosmale
a2cec17407 QMetaType: specialize typenameHelper for std::pair
The string representation of std::pair<T1,T2> is now always
"std::pair<T1,T2>". This is in line with how we translate QPair,
avoiding typename mismatches that would previoulsy occur, because the
full name of pair on libc++ was "std::__1::pair".

Fixes: QTBUG-84924
Change-Id: Ia6c044a7327d69e4b4f4a31496c6b2408d85ebb9
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-08-19 19:17:46 +02:00
Allan Sandfeld Jensen
2df41e2c48 Remove binary compat sources for qbytearray and qstring
No longer needed in Qt6.

Change-Id: I29567e175e07cc3658f0619acfd604abf64f6459
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-08-19 19:04:34 +02:00
Alex Trotsenko
cced8c9005 Make QAbstractSocket::abort() behavior unambiguous
After calling this function, the user expects that the connection is
terminated, I/O device is closed and the socket is ready for a new
attempt. But, if the socket was disconnected before the call, close()
is not called and I/O device remains opened.

Because QAbstractSocket::close() and QIODevice::close() can handle
reentering, we can call close() unconditionally, which makes
the behavior obvious.

Change-Id: I90a9cbb1a1fe8f866b55ef0bd68d286b34e853f5
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-08-19 20:01:45 +03:00
Cristian Adam
12e4b63d28 CMake Build: Fix libdrm detection and compilation on QNX
On QNX 7.1 x86drm.h is located under <...>/usr/include/libdrm, unlike
linux where it's present under /usr/include.

find_path would not find it on QNX, and instead get /usr/include from
host, which resulted in a failure to compile.

Task-number: QTBUG-83202
Change-Id: I03d6c2d4dfbe91bb70df0a322e84890bd7c8548a
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-08-19 18:43:37 +02:00
Alexandru Croitor
41800c3c31 CMake: Add /OPT:REF flag when building Qt on Windows
In qmake it's done for all qmake projects, in CMake we lean on the
safe side and apply it to building Qt itself. User CMake projects can
then choose to add it themselves.

Task-number: QTBUG-85992
Change-Id: I51919f947d43ffd9925e3d2837dcad17e480367d
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2020-08-19 18:26:00 +02:00
Alexandru Croitor
cb1600145b CMake: Adjust compiler flag optimizations to qmake mkspec ones
There are inconsistencies in the default optimization flags added by
CMake across configurations like Release and RelWithDebInfo.
In particular Release uses -O3, whereas RelWithDebInfo uses -O2,
as well as usage of /INCREMENTAL in release configs with MSVC, etc.

To make sure that the Qt 6 binaries built with CMake are consistent
across configs, as well as consistent with the flags we used when
building Qt 5 with qmake, add a horrible search and replace mechanism
to replaces the CMake flags with what our mkspecs indicate to use.

Ideally this would be done by providing custom CMake toolchain files
for each platform we support, and we might revisit that later if the
need really arises.

To implement the replacing, we first need the flags that should be
added. Port the QMAKE_CFLAGS_OPTIMIZE variables to CMake, which is
done in QtCompilerOptimization.cmake.

Then a new function called
qt_internal_set_up_config_optimizations_like_in_qmake will look for
any kind of optimization flags set in the
CMAKE_<LANG>_FLAGS_<CONFIG> style variables, remove them, and add
the appropriate flags that qmake mkspecs provide.

On some platforms (like Windows MSVC) the function also alters the
linker CMAKE_${TYPE}_LINKER_FLAGS_<CONFIG> style variables.

The mechanism allows opting out of this replacing by
setting the QT_USE_DEFAULT_CMAKE_OPTIMIZATION_FLAGS value.

It also allows opting into removal of flags for custom configs by
providing QT_ADDITIONAL_OPTIMIZATION_FLAG_CONFIGS. It's only removal,
because we wouldn't know what kind of config it is, and thus what
flags to add.

The currently modified configs are: Release, RelWithDebInfo,
MinSizeRel, Debug aka the usual default CMake provided ones.

The mechanism is only applied to C-like languages.
ASM is not handled to be on the safe side due to not knowing what kind
of compiler flags the platform assembler might take.
It's also important to skip RC on MSVC platforms.

Task-number: QTBUG-85992
Change-Id: I3712d5cd5a34fceab54f56a6fa46b4e678952362
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-08-19 18:25:59 +02:00
Kai Koehne
a1cc2fbbda Update qmake before building src
This (hopefully) fixes an issue where syncqt cannot write Qt
header files (Permission denied) on Windows.

Fixes: QTBUG-86121
Change-Id: I69f0bc136b16ab8b26e53e102c9ddd21112a6b2e
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-08-19 18:25:51 +02:00
Laszlo Agocs
2da2e24bbc rhi: d3d11: Enable setting xxxColor as an alpha src/dst blend factor
Fixes: QTBUG-86111
Pick-to: 5.15
Change-Id: Iabcf1708ea65e9f05f39caf9df9b45c25ac5dbb8
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2020-08-19 18:23:52 +02:00
Jarek Kobus
7773f7f90e Fix the doc example
The intention is to return list containing two items, not just one.

Change-Id: I96f3ce939f2ef6db6bdac5d9165bb7814ebfa91a
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
2020-08-19 18:23:01 +02:00
Andrei Golubev
9260950552 Introduce GrowsBackwards case operations
Added operation overloads based on GrowsBackwards flag to array data ops

"New" operations can be considered as mirrored to original special cases
where near-begin (free)space is used instead of near-end space

The newly added functions are not used anywhere in this commit. Yet there
is enough code to consider a separate review for the operations along with
tag dispatch approach used

Task-number: QTBUG-84320
Change-Id: Ie57d97fcc6beeaf5cce6820b38702e376c431c0e
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-08-19 15:03:05 +02:00
Morten Johan Sørvig
ff52d95e29 Use the factor() function for getting scale factors
Make the code less dependent on (changing) high-dpi
internals.

Change-Id: Ifc7cb4aab1c1c70016ca86639edf5c9630999f9e
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2020-08-19 15:01:46 +02:00
Morten Johan Sørvig
733b653844 Update QHighDpiScaling on DPI change
Make sure Qt reacts correctly to DPI changes while the
application is running, also when going from “standard-dpi”
to “high-dpi” (like Windows 100% to 200%).

Call QHighDpiScaling::upateHighDpiScaling() on DPI
change and update the m_usePixelDensity flag from there.

Fixes: QTBUG-85384
Pick-to: 5.15
Change-Id: I8ca83e4eea76cc8ba701a18e1f8c535b9953918f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2020-08-19 15:01:45 +02:00