Commit Graph

46852 Commits

Author SHA1 Message Date
Tor Arne Vestbø
d4e78fce16 Suffix qt_pluginMetaData with class name
Allows defining multiple static plugins in the same translation unit.

Change-Id: I175fd4980b21a461a18c23ed1a62a3cea73e67a0
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-07-16 20:51:04 +02:00
Edward Welbourne
d6502614d0 Deprecate QTimeLine's curveShape in favor of its easingCurve
QEasingCurve has a richer variety of curves and curveShape was already
implemented by changing the easingCurve property.

[ChangeLog][QtCore][QTimeLine] Deprecated QTimeLine's curveShape
property in favor of the easingCurve property.

Pick-to: 5.15
Change-Id: I7261c0f24d7e02bc94624f0b74d699df62de1a52
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-07-16 17:39:11 +02:00
Friedemann Kleint
ea2ae140e9 QtGui: Rename all QEvent members according to the m_ convention
As they are protected, they need to be excluded from the Python
bindings, which is best done by a pattern.

Task-number: PYSIDE-1339
Task-number: PYSIDE-904
Change-Id: I667aa3b8e229e11b3b46635adfddbd62ce4747c1
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2020-07-16 15:00:37 +02:00
Joerg Bornemann
044cb3ce20 CMake: Fix top-level configure
The working directory for CMake must be the top-level build dir, not the
qtbase one.

Change-Id: I1090aca8bf2617719e724f96b1fa356eb9fabb46
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-07-16 15:00:37 +02:00
Friedemann Kleint
b2504af4da QtGui/Windows: Move the QRegion conversion functions into QtGui
Task-number: QTBUG-81876
Change-Id: I2297291a4157e7015f499b0a6127301d9cb58526
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-07-16 12:09:44 +02:00
Andy Shaw
777d6a546d sqlite: Upgrade to 3.32.3
[ChangeLog][QtSQL][sqlite] Upgraded to v3.32.3

Pick-to: 5.15
Pick-to: 5.12
Change-Id: I3c00fb6b0bd7daa3465b38ac6536b82d0b16596f
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-07-16 10:09:41 +02:00
Andy Shaw
8f4f1789e4 Android: Don't treat gradle.pro as a buildable target
When installing gradle it can conflict as it will treat it as the target
and therefore install it as an executable although it is a directory
inside this one. As this does not build anything but is really an
installation target, we can mark it as aux template and change the target
name to avoid any conflicts with the existing directory.

Pick-to: 5.15
Task-number: QTBUG-80938
Change-Id: I000ee57521818b6d4d30d770362ff4700846e576
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2020-07-16 09:08:52 +02:00
Dimitrios Apostolou
3da9cff845 Avoid warnings regarding bit-field signedness
Up to (including) C++11, integral bitfields of unspecified signedness have
implementation dependent signedness.

Detected by LGTM.com static analyzer.

Pick-to: 5.15
Change-Id: Ibaa0fdc6e443495a3cd40330c4573c9cc6ccdf5b
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-07-16 01:04:44 +02:00
Dimitrios Apostolou
273be0b9e6 Skip LGTM analysis for the bootstrap library and tools
This is because the same code is built for the bootstrap library with
non-standard options like disabled threads, which causes false alerts.
So we build the bootstrap tools in the "configure" step.

Additionally we update the configure flags to only the ones that
matter for the CMake build, after the latest configure script updates.

Change-Id: Id4f90db2a16904f6665f3994f23a9f2a974aefc6
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-07-16 01:04:34 +02:00
Sona Kurazyan
b7ccc80526 Use qsizetype instead of int in QByteArrayMatcher
Change-Id: Id32dc567fa0359ad281d34fcf88c46484f87ce2c
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-07-15 23:16:50 +02:00
Jonas Karlsson
a99bc30e1e Add OS-specific prelude to qt-cmake-standalone-test
This makes sure the executable is run as a shell script
with the proper interpreter on Unix systems.
Otherwise it will fail in some shells, like fish.

On windows, it prevents all commands in the batch file
from displaying on the screen.

Change-Id: If554262f172b035b9661b3e2ff26a96789fa707b
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-07-15 15:13:05 +00:00
Volker Hilsheimer
124590850b Don't test for equality if types can't be compared
For types that don't have an operator==(), always trigger the binding
and the changed notification.

Task-number: QTBUG-85578
Change-Id: I41374f6d13c88106f4de83864e82172f3a248150
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2020-07-15 16:16:53 +02:00
Andre de la Rocha
5f3f23462e Allow Windows accessibility backend to receive focus updates
The removed code no longer applies to the current Windows accessibility
backend, and was causing it to miss focus change events when the
application UI contained one or more widgets associated with native window
handles, or when the Qt::AA_NativeWindows application attribute was set.
This caused accessibility tools like Narrator to miss changes in the
focused widget.

Fixes: QTBUG-81862
Pick-to: 5.15
Change-Id: I6e42d09c54e9e1338fc4b103eba8a0b2c4309e7f
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2020-07-15 08:39:54 -03:00
Shawn Rutledge
53496e67f0 Un-deprecate QMouseEvent::flags() and QGraphicsSceneMouseEvent::flags()
On one hand it looks like API clutter: a whole Qt namespace enum just
to track whether an individual mouse click is about to geenerate a
MouseButtonDblClick event. On the other hand, we should not remove it
without replacing it somehow, so that users don't lose the workaround for
QTBUG-25831 that it provides. That would be an invasive change because
this flags property exists in QMouseEvent, QGraphicsSceneMouseEvent
and in MouseArea { onClicked: doSomethingWith(mouse.flags) }

Reverts a small part of 4e400369c0

Task-number: QTBUG-25831
Change-Id: I9a3b4f6cc6b858012186f10ed57689f8c0f5fd79
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-07-15 12:55:56 +02:00
Shawn Rutledge
5ca5dfa89e Set QEventPoint::state properly in QSinglePointEvent
State was Unknown by default, and that is OK in widgets so far, because
widgets pay attention to the event type, not QEventPoint::state().
But Qt Quick cares about that, because QEventPoint turns into
QQuickEventPoint, in which state() has long been important, due to
the semi-unified handling of mouse and touch events.

If it was not a button that caused the event, state is Updated (the
mouse is hovering or dragging, or it's an enter event, wheel event etc.)
If more buttons are now held than before, state is Pressed.
If fewer buttons are now held than before, state is Released.

Amends 4e400369c0

Change-Id: I926d268982449e46e7ca713c4a6ee2014c28c645
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2020-07-15 12:55:19 +02:00
Ulf Hermann
1ebb891c2f moc: Accept NAME attribute for any properties
At the time when we parse it we don't know if the property will be a
QProperty.

Change-Id: I720afa6d5ec284c727328db92c791771def82f41
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2020-07-15 12:44:30 +02:00
Lars Knoll
19b5520abf Work around compiler problems on MSVC 16.6.X
The compiler apparently doesn't resolve the emplace overload
correctly to the rvalue version, leading to infinite recursion
in the overload that takes a const Key & as argument.

Take a copy to make it explicit.

Change-Id: I22039d6ca1e2176c81e51b181c72f511dab662f7
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-07-15 12:37:43 +02:00
Andy Shaw
eb201a57db Compare the showDecorationSelected variable when caching the option
Since the size of the display rect can change if showDecorationSelected
is set then this should be included when seeing if the item is already
cached.

Change-Id: Ied6182337de5894d879c5ba5d1125b4869a11cc9
Pick-to: 5.15
Fixes: QTBUG-85451
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-07-15 12:19:52 +02:00
Edward Welbourne
1a280b2072 Update documentation of Qt::TextDate
This follows up on commit 5ba66c5622,
which removed all locale-dependence from QDateTime; I neglected the
doc of the DateFormat enum.

Change-Id: I244db9c6e1ab47892162c7f441c2b4202662e6e4
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-07-15 12:19:33 +02:00
Edward Welbourne
7ec5cba6de QSystemLocalePrivate::substituteDigits(): change to move semantics
Rather than passing an in-out reference parameter and ignoring the
return (of that parameter) use an actual rvalue ref parameter and move
the value through the function, to make it easier for compilers to
see how to optimize it.

Change-Id: Ie239400345da012d8fb8a731394f1687b8b62430
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-07-15 12:19:21 +02:00
Edward Welbourne
b5bc3ee036 Simplify uses of QSystemLocale::query()
QVariant::isNull() shall no longer return true when the variant does
package an object, but that object's isNull() is true, so take care to
catch QString-wrapping returns that contain an empty string, except
where this is a valid return. Generally tidy code processing the
returned value.

At the same time, make the second argument of query() optional, since
it's only used by a subset of the query types.

Change-Id: I3dba9a59260f9f182ca277784c77277e2ea255e2
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-07-15 12:19:14 +02:00
Edward Welbourne
d0806bf26a Simplify qlocale_win's getLocaleInfo() and its _int variant
One of the former's overloads was a template; it and its _int variant
took an optional maxlen; no caller passed maxlen, only three callers
didn't over-ride the template's <QString> default return value to
<QVariant>; so eliminate maxlen and have it simply return QVariant,
using .toString() on it where needed.

Change-Id: Icf3ff32f167ee96cfbb6412613ecd7f0886a2fe9
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-07-15 12:19:08 +02:00
Shawn Rutledge
e91b778395 QMouseEvent: Set QEventPoint globalPressPosition and globalLastPosition
Qt Quick's MultiPointTouchArea compares the delta since press against
the drag threshold to determine whether a gesture has started, for
example. Since it can be configured to handle both mouse and touch,
this needs to be done for mouse events in a similar way as it's done
in QGuiApplicationPrivate::processTouchEvent().

Storing one global cursor position is not OK for multi-mouse support,
but that's a problem for another time; so we keep using
QGuiApplicationPrivate::lastCursorPosition for now.

Amends 4e400369c0

Change-Id: I242565c4548878878a67074877468e5fde84a490
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2020-07-15 12:14:30 +02:00
Friedemann Kleint
e9bfd7862f Remove linuxofono
The module appears to be unused.

Task-number: QTBUG-83255
Change-Id: I0b6942734b8b4fcfd90515ba12d751ffccfad15c
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-07-15 07:33:32 +02:00
Giuseppe D'Angelo
2438308421 Fix namespaced build
No need of redeclare the function (wrongly, w/o the namespace),
we have the declaration already from qpaintdevice.h.

Change-Id: Iab37c1ac8f059b7d93de7f6c8f0a2eeef2314f35
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-07-15 03:15:32 +02:00
Fabian Kosmale
d27b9485c0 Replace emit with Q_EMIT in header
This fixes tst_nokeywords.cpp in declarative

Change-Id: Ia94c6c73a830a2eaac9288d9f73d43e63d7a5c17
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-07-14 21:44:18 +02:00
Volker Hilsheimer
b8ebadbecd Remove wrapper APIs from QDesktopWidgetPrivate
Change-Id: I99e7d82a9e369fee23bcc565553ad9783fa862f9
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-07-14 19:24:28 +02:00
Kai Koehne
77c2ac559f Doc: Mark API in Q[Mutable]HashIterator as deprecated
The reverse iteration API got deprecated in code already in commit
dbb54805f6 . Now also fix the documentation.

Fixes: QTBUG-85482
Pick-to: 5.15
Change-Id: I3b575f60dabfe1005b9744d17c257da3e22817c5
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-07-14 17:07:00 +02:00
Fabian Kosmale
ca54b741d6 qtypeinfo: Improve container check
Smart pointers like QSharedPointer<T> do have a value_type, but their
equality does not depend on T being comparable. Therefore, instead of
simply checking for T::value_type, test for a few other container
requirements.
This also required to add an additional check for std::optional, as that
one has an unconstrained operator== on MSVC.

Change-Id: Iefd048f7aa360f4713ecd79f80acd7dae72ee18c
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-07-14 17:06:47 +02:00
Fabian Kosmale
8cdaeb2655 moc: allow wrapper generation for QProperty in pimpl class
Previously, only QNotifiedProperty was supported. As moc cannot
determine by itself whether the backing property is a QProperty or a
QNotifiedProperty, allow NOTIFY false to indicate that it is a plain
QProperty. For symmetry, NOTIFY true is also allowed and means that the
backing property is a QNotifiedProperty.

Change-Id: I66f3105c976ef084198ce8658bc07499a3cb1cd8
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2020-07-14 17:06:46 +02:00
Edward Welbourne
bb6a73260e Support digit-grouping correctly
Read three more values from CLDR and add a byte to the bit-fields at
the end of QLocaleData, indicating the three group sizes. This adds
three new parameters to various low-level formatting functions. At the
same time, rename ThousandsGroup to GroupDigits, more faithfully
expressing what this (internal) option means.

This replaces commit 27d1391280 with a
fuller implementation that handles digit-grouping in any of the ways
that CLDR supports. The formerly "Indian" formatting now also applies
to at least some locales for Bangladesh, Bhutan and Sri Lanka.

Fixed Costa Rica currency formatting test that wrongly put a separator
after the first digit; the locale (in common with several Spanish
locales) requires at least two digits before the first separator.

[ChangeLog][QtCore][Important Behavior Changes] Some locales require
more than one digit before the first grouping separator; others use
group sizes other than three. The latter was partially supported (only
for India) at 5.15 but is now systematically supported; the former is
now also supported.

Task-number: QTBUG-24301
Fixes: QTBUG-81050
Change-Id: I4ea4e331f3254d1f34801cddf51f3c65d3815573
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-07-14 14:52:08 +02:00
Edward Welbourne
19ed60d703 Refactor QLocale's integer formatting
Break out some shared code in the integer formatting to save
duplicating it. Simplify what's left.
Renamed some variables to match Qt style.

Change-Id: I369a013802a267a94725302de0d1d33291c29538
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-07-14 14:52:08 +02:00
Edward Welbourne
0b0bc0ce20 QLocalePrivate: rearrange number format statics and tools
Instead of passing lots of instance data around among public static
methods and functions in qlocale_tools, do the work in instance
methods that can access the relevant attributes of the locale when
they need them. Incidentally reduces clutter in the global namespace.
Add a signPrefix() to handle a repeated computation. Keep new internal
methods private.

Change-Id: I9556a960acac9fb645872337c61f509fb902984e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-07-14 14:52:08 +02:00
Edward Welbourne
3f8eae848e Fix floating-point 'g'-format's choice between 'e' and 'f' forms
During review of a refactor (coming shortly), Thiago wondered what the
magic numbers were. On closer examination, I concluded that they were
wrong and wrote some tests to prove it. This commit adds those tests;
replaces the misguided old code with something that passes them; and
documents the reasons for the various parts of its decisions.

In the process, tidy up QLocaleData::doubleToString() somewhat and
rename some of its variables to conform to Qt coding style.

Change-Id: Ibee43659b1bdb0707639cdb444cfe941c31d409f
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-07-14 14:52:08 +02:00
Edward Welbourne
3809643093 Simplify qlocale_win's currency formatting
Use QLocaleData::c()'s instance method, rather than QLocaleData's
static method, to format integers. This avoids the need to duplicate
various arguments as literals, that the C locale provides as default.
It also future-proofs against changes to the static methods.

Change-Id: I5bba407cfc29e3f33d1e9fa878ddf35fff3b113c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2020-07-14 14:52:08 +02:00
Jarek Kobus
cd787dbac9 QtConcurrent: Get rid of multi-inheritance inside RunFunctionTaskBase
Use aggregation instead. Prepare for using QPromise instead of QFutureInterface.

Task-number: QTBUG-84702
Change-Id: Ic88564dca8c83a178a281cb843032292210a6d25
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
2020-07-14 14:52:08 +02:00
Joerg Bornemann
97741a9590 CMake: Fix call to qvkgen for cross-builds with tools
We must not call the qvkgen tool that was built for the target but the
one that's located in QT_HOST_PATH.

Change-Id: I6d23a8e3abd84d449517630f3b9f0d50e333c327
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-07-14 10:25:47 +02:00
Friedemann Kleint
a158dc2e76 QtGui: Clean up event headers, #3
- Remove unimplemented CT of QTabletEvent

Task-number: QTBUG-72173
Change-Id: I22f88bc2962f2cf92cf33c9cba7081c0436affe6
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2020-07-14 08:25:47 +00:00
Friedemann Kleint
37d5aaa4b4 Change QWindow/QWidget::map(To/From)(Global/Parent) to operate in float
Change the functions to operate in float and add the
QPoint versions as overload calling them. This is
more in-line with the event accessors using float
and allows for removing some workarounds using a delta when
converting touch points.

Leave QPlatformWindow::map(To/From)Global() as is
for now and add helpers for float.

Change-Id: I2d46b8dbda8adff26539e358074b55073dc80b6f
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-07-14 10:25:47 +02:00
Assam Boudjelthia
80f7494e8a Android: add missing printStackTrace() in catch statements
Pick-to: 5.15
Change-Id: Id50743113fcdd450932111cfe1a563276f152bb1
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2020-07-14 11:25:47 +03:00
Tor Arne Vestbø
8fdd400d99 Don't flatten link color in QTextHtmlParser::declarationsForNode
It's still flattened in the next step, when the parser calls
QTextHtmlParserNode::applyCssDeclarations, but this at least
makes it clear where the problem is.

Task-number: QTBUG-85567
Change-Id: I1ecc7d808c58297f40f6cf8de86dfa7035e167c9
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2020-07-14 10:25:47 +02:00
Tang HaiXiang
61fced375a Fix gif parsing error for large images
A very large GIF image resulted in cropping of image updates, due to
the handler trying to protect against very large values.

Increase that size from 200 to 16384, which is also the value used
in the withinSizeLimit method.

Fixes: QTBUG-85340
Pick-to: 5.15
Change-Id: I70888d76b378ee4f49694e90d7d753fae817ff2a
Reviewed-by: Lu YaNing <luyaning@uniontech.com>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-07-14 08:25:47 +00:00
Lu YaNing
1ac7bf1ed4 Linux: fix crash in AtSpi adaptor when handling window activation
fix The window has been quickly activated or disabled will cause a crash .

Fixes: QTBUG-84643
Pick-to: 5.15
Change-Id: I0fd0918a3fc1898ddffd97009a4e92702ecd9ed4
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-07-14 12:33:23 +08:00
Samuel Gaist
ae81055fe2 Doc: make cleanup on error more prominant in SQL driver instructions
The concerned paragraph is one that is very important as there are a
lot of people building the MySQL and PostgreSQL plugins that are not
successful on the first try. However, this text not being emphazized,
many if not all miss the fact that just re-running qmake will give them
the same result if the cleanup is not applied. This patch makes this
point more visible.

Pick-to: 5.15
Change-Id: Ib2b97e128a5dab3dc6d771b16b5315e4ad95a9b7
Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
2020-07-13 22:06:26 +00:00
Volker Hilsheimer
7b6beed743 Remove support for users to create their own Qt::Desktop type widgets
[ChangeLog][QtWidgets][QWidget] Creating QWidget instances with the
Qt::Desktop window type set is no longer supported.

Change-Id: I712861d7104c4ae5cbdd5d54cd0134bf69eb144e
Task-number: QTBUG-62094
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2020-07-13 22:57:14 +02:00
Friedemann Kleint
ed3ac187b5 QtGui: Clean up event headers, #2
- Remove unimplemented  functions of QEventPoint
- Remove forward declaration of devices

Task-number: QTBUG-72173
Change-Id: I40e0451a6380ea7fbe58c49fe8fab1b432558c52
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2020-07-13 22:08:06 +02:00
Friedemann Kleint
ee0198a018 Move eglconvenience to QtGui
Task-number: QTBUG-83255
Change-Id: I8a008d8906308dd73a0793db5b88d3a1b6fdaf5c
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-07-13 22:07:46 +02:00
Alexandru Croitor
70f7155fcc CMake: Propagate non-qtbase configure args to other repositories
Currently configure arguments specified in
qt5.git/coin/platform_configs are only used when configuring
qtbase itself. Sadly, Coin lacks support for specifying per-repo
configure flags.

Until Coin gets the feature, the best we can do is to pass
all the configure flags to each repo we are configuring.

Unfortunately if we pass all of qtbase's configure flags to other
repos it will break cross-compiling configurations (because the
toolchain argument would be overridden with the initial qtbase
provided toolchain instead of the Qt generated chainloading one).

We thus have to separate flags that should and shouldn't be passed
to other repos.

Introduce usage of two new environment variables called
NON_QTBASE_CONFIGURE_ARGS and NON_QTBASE_TARGET_CONFIGURE_ARGS.
Additional configure arguments can be specified in these variables,
and they will be used when configuring repositories, with the
exception of qtbase.

Ultimately, this is needed to disable detection / usage of certain
strawberry perl system libraries in qtimageformats on MinGW.
Doing that prevents crashes of the tst_qtiff test.

Minor implementation note is that the environment variables have to be
explicitly set in qt5.git platform_configs otherwise it breaks the
Windows Ninja Multi-Config configuration with the error
"The system cannot find the file specified".

Supplements 4b4f0be08debcfde62caf4066222b348ce65dea1 from qt5.git.
Amends previous revert 946fc92d20

Task-number: QTBUG-84886
Task-number: COIN-601
Change-Id: Ie4305c5d799bf4a29da5032a691e797b49c3cf33
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-07-13 21:01:59 +02:00
Steffen Kieß
6d880185b1 Fix passing QDBusUnixFileDescriptors over peer-to-peer connections
Passing QDBusUnixFileDescriptors over peer-to-peer connections currently
does not work, because QDBusConnectionPrivate::setPeer() does not set
this->capabilities (unlike QDBusConnectionPrivate::setConnection()
which is executed for bus connections).

Keep track of whether the connection already has been authenticated, and
once the connection does get authenticated, update this->capabilities.

Note that sending a message directly after connecting (before any
message has been received from the peer) might still fail if the message
contains a QDBusUnixFileDescriptor.

Pick-to: 5.15
Fixes: QTBUG-85396
Change-Id: Ib83213ebcd3255fb091c6faefb3618745b8d736c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-07-13 20:45:20 +02:00
Joerg Bornemann
2a5ad75ec8 Fix sporadic build failures of eglfs_kms_vsp2
The eglfs_kms_vsp2 subproject depends on eglfs_kms_support.
Add the missing build dependency.

Pick-to: 5.15
Fixes: QTBUG-85486
Change-Id: I1110d0f02166d9cdec1d734de679e2d36c6b026a
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2020-07-13 20:31:45 +02:00