qVariantFromValue/qVariantSetValue() was marked as obsolete since Qt4.
Therefore mark them as deprecated with Qt5.14.
Since QVariant::setValue/fromValue() were using the now deprecated
functions move the implementation to them and let
qVariantFromValue/qVariantSetValue() call
QVariant::setValue/fromValue().
Fixes: QTBUG-74043
Change-Id: I46617cc4d5c1e8c162d0f1f7ae32e4cfe9ce915c
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
QListWidget::setBackgroundColor() is a virtual function. Hiding this
function when compiling/linking against QtWidgets when
QT_DISABLE_DEPRECATED_SINCE is set will therefore screw up the vtable
and it will crash on runtime.
Therefore don't surround them with QT_DEPRECATED_SINCE macro.
Fixes: QTBUG-74665
Change-Id: Icb0f253117a1e55a338d2d6969ec2d59fbd0679d
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: David Faure <david.faure@kdab.com>
0bc4288689 in Qt 5.6 introduced support for premultiplied alpha in the
raster-rendered QWidget content. Unfortunately this introduced a
regression for OpenGL content from QOpenGLWidgets with WA_StacksOnTop
set: these used standard alpha blending in 5.5 and earlier, and
switching them to premultiplied (in case the - unrelated - raster
content has a _Premultiplied QImage format) breaks all content that
was done with non-premultiplied alpha in mind, for example the qopenglwidget
example's "Transparent background" checkbox.
Restore the pre-5.6 behavior.
Fixes: QTBUG-74285
Change-Id: I76fcadd53cd436efa2b619b8d6739270995d044f
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
This reverts commit 7a64ffb773.
This change landed in 5.13 too early, so there is no baseline with both APIs in
dev. This will be reverted later when the fixes for leaf modules landed.
Task-number: QTBUG-74816
Change-Id: Ie5ee41fbf6be53b8fcb4289ac1ec3974e5bf6e42
Reviewed-by: Jesus Fernandez <Jesus.Fernandez@qt.io>
After 'h2c' mode was implemented with the proper protocol
upgrade, the previously working 'direct connection' mode
was lost for clear text connections due to the erroneous
logic in the constructor: having !channel->ssl does not
necessary mean we started with HTTP/1.1 request, including
protocol upgrade header; it can also mean we connected a
plain socket and immediately sending h2 frames, without
any H2 negotiation at all.
Fixes: QTBUG-74765
Change-Id: Ice466d6bffb40048b7ab46fb064f2d3d795a12aa
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
TestMethods::invokeTest() has an outer loop on global data (albeit
with a comment that said otherwise). On its first cycle, we run the
test function's *_data() method, if it has one; there is an inner loop
on the rows this created. If the *_data() QSKIP()s, we need to skip
the whole test; otherwise, a QSKIP() in one sub-test should not lead
to skipping the remaining sub-tests.
Moved the check for *_data() QSKIP()ping to right after *_data()
returns, inside the "first global cycle" block that runs it.
Previously, this check was done before entering the loop on local data
rows, but outside that "first global cycle" block: consequently, later
global cycles would fall foul of this check (even though the *_data()
hasn't been run in this cycle, much less QSKIP()ped in it) if the last
sub-test of the previous global cycle had QSKIP()ped.
When running a single test for one specific data row, if the test's
*_data() QSKIP()ped, this misplaced check would also have lead to a
misleading "Unknown testdata" warning.
Changed testlib/selftests' tst_globaldata::skipSingle() to trigger the
bug (by having its last local row of first global row skip, which
caused the second global row to be omitted) to verify this is also
fixed; and amended one of its comments to reflect what's now to be
expected. Updated the test's expected output files.
Task-number: QTBUG-61774
Change-Id: I99596b595c6d1184038f23383844c6ff51a0cd91
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
Removing connections and resizing the signal vector now
happens in a way that will not interfere with activate(),
as the old objects won't get deleted if we are somewhere
inside a signal emission.
This means that we don't need to lock the senders mutex
in activate anymore, as long as the reference counting
on the ConnectionData is atomic and we are in the senders
thread.
This implies that we now need to lock the receivers mutex in
queued_activate() abd blocking queued activation to ensure
it hasn't been deleted while we are emitting.
In addition, some precautions need to be taken to not read
from the receiver without holding the lock, as it could get
deleted while we're activating (if it's in a different thread).
To make that possible store the receivers thread id in the
connection data.
Use atomic pointers for all variables that can get modified
with the signalSlotLock() held and that are being read
without the lock being held.
This gives us a very nice additional speed improvement
for signal emissions.
without change with change
string based connect: 3287 2436
pointer based connect: 3941 3265
not connected: 403 400
disconnected: 460 489
5 slots connected: 9112 4515
Change-Id: Ib7324bb74c389dcc3b6581a03c31469a6e589fc2
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
And use it to clean up the reimplementations in Qt DBus.
Change-Id: I8e3fe35e8db6405cbcbfb45b42a8f2efecc1cef0
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Put all connections that get disconnected into a singly
linked orphaned list.
Whenever the refcount on the connectionData drops down to
one, this list can safely be cleared, even with the planned
removal of locking in activate().
Use an id integer in the connection to acoid activating newly
added connections.
Fixes: QTBUG-72649
Change-Id: Ide3d116ae7fc9ca497598c1c2b71d43b4339c92d
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Avoid using inline assembler
Task-number: QTBUG-72716
Change-Id: I696efb5a787416eb4fc5ba3a250461aaa9a4afc2
Reviewed-by: Janne Koskinen <janne.p.koskinen@qt.io>
Do not categorize the license anymore as 'Public Domain', because the
actual text is not explicit on whether it allows modifications. Instead
show the original license text.
Also remove the Homepage link, which now just displays (arguably
outdated) information about patents.
Finally, do not misuse the "Version" field for metadata information,
use the newly introduced "PackageComment" field instead.
[ChangeLog][Third-Party Code] Changed classification of the wintab
license from Public Domain to Custom.
Fixes: QTBUG-74453
Change-Id: Ibae36be1deee3b9c498c45d03ed741c3d5ff630c
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Otherwise it can happen that we pick up the tool for the host system,
which will break compilation.
Users can still pass
-psql_config /path/to/pg_config
or
-mysql_config /path/to/mysql_config
manually.
[ChangeLog][QtSql] When cross-compiling pg_config, mysql_config
are not looked up in PATH anymore. Pass -psql_config path/to/pg_config
or -mysql_config path/to/mysql_config to explicitly enable PSQL or
MySQL in this setup.
Fixes: QTBUG-73565
Change-Id: I35ff32322bac69f1575ce6c846a56ac2ae3b8d55
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
It has been completely untested for a while and saw some breakage.
So let's add a selftest for it. ('-vs' when running tests)
Change-Id: Ibfb5ac0a2d741de7c3f519d91202d4977996045e
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
The Windows and Cocoa font engines ignored the stretch factor when
the pixel size is so large that QPainterPath rendering is used
instead of native.
Fixes: QTBUG-14315
Change-Id: I93390528ac264452b7d6af7d39f49f4b0dd56279
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Use move on the existing value as well so the constructor makes more
of a difference.
Change-Id: Iee2080da7b7d2d88eb108f0448c61423c7256979
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Under the 'Dark' theme as a system one, in an application forcing
'Aqua' (and thus 'Light') appearance, disclose button (drawn as
a triangle) can suddenly become transparent (apparently selecting
a 'Dark' codepath internally). Different ways to fix this (attaching
NSButton to a view, setting appearance on this button manually, etc.)
- all seems to have no effect. We resort to manually drawing this
button on macOS > 10.14 if 'effectiveAppearance' is 'Aqua'.
Change-Id: I6f54c0c4cf8fdd1ba53263ba9535e3055be46d42
Fixes: QTBUG-74515
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
It is documented for the use, but we were rarely using it.
Change-Id: I812b9e6c8fbf204aba43ce2b79eca308ca75de88
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
We may get calls to the MessageTypes-overload of addMessage via e.g.
qSkip, or other functions in QTestLog, so we have to implement the
function.
Change-Id: I9d58c73e93ca918c42448c246c37cc9ae6aa04de
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Saves 234kB of read-only data (when compressed with zstd) in QtCore,
plus one load-time execution. With Zlib, the size was 315 kB.
[ChangeLog][QtCore][QMimeDatabase] Added configure option
-no-mimetype-database that tells Qt not to bundle its own copy of the
XDG MIME database. If this option is passed, QMimeDatabase will only
work if there's a system copy in $XDG_DATA_DIRS/mime. This option is
useful for Linux distributions that ensure the data is always present.
Change-Id: I1004b4b819774c4c9296fffd158e69c490e88fb6
Reviewed-by: David Faure <david.faure@kdab.com>
DragEnter events always should start with the default state, which
is accepted = false. This was a copy-and-paste error introduced by
f8944a7f07.
Fixes: QTBUG-73977
Change-Id: I34b3ea97c9b4f4fc040a9e6f1befd6124533361d
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
QDoubleSpinBox did not resize when setPrefix() was called because the
cached size hint was not reset.
Fix it by resetting the cached size hints and update the geometry the
same way it's done for QSpinBox::setPrefix().
Fixes: QTBUG-74520
Change-Id: I6f42a24ab0a4ce987ecbe1505a634d929474436b
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
And export the required symbols in OpenSSL so we can run the test there
as well even if it's not needed for any functionality.
Change-Id: I4246d2b0bbdd42079d255f97f3c66ce8bb37390b
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Doing endian-dependent selection of bytes of the value was a clumsy
surrogate for just accessing the intenal quint16 shifted suitably.
Change-Id: Icfd9d1d18f69eb94b041b8d32275df606c14c2b4
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Prevent namespace collisions and make sure Qt functions
are grouped together.
Change-Id: I217188ee93e4300e273d10a79d6014179fc5a1ef
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
QSqlError::text() returns single space if QSqlError is not valid. In
addition, it adds space in case one of driverText or databaseText
is empty.
Change condition upon which space is added between databaseText and
driverText, and update unit test to cover these cases.
Fixes: QTBUG-74575
Change-Id: I52cce9b0287a523d7ff9059cff38bcd8b26eb303
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Change d15b02ff29 was missing the
implementation of:
void setData(int xOffset, int yOffset, int zOffset,
int width, int height, int depth, int mipLevel,
PixelFormat sourceFormat, PixelType sourceType,
const void *data, const QOpenGLPixelTransferOptions * const options = nullptr);
Change-Id: Ie0d1679cc54bc6bd6b51392a22707566d238845a
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
When using a style that wants to draw into the layout's margin (like
macOS style does with group box titles), parts of the widgets would be
clipped by the parent if the available margin is smaller than necessary.
This moves the x/y coordinates to at least 0/0, and adjusts width and
height accordingly.
[ChangeLog][QtWidgets][QLayout] Prevent clipping of group box titles
on macOS (and similar styles that draw into layout margins)
Change-Id: I32148a92858c13fb2325da4d0a2a58996e0e8930
Fixes: QTBUG-67608
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
Enabling makes QtQuick to attempt to access window.devicePixelRatio
[via QWasmWindow::devicePixelRatio()] from a web worker.
Change-Id: I957df29060c7eb8c47d02bc67c8c5c2219b570f4
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
[ChangeLog][QtCore] Added support of deduction guides for QPair
Change-Id: I41a798390dc2c925b0f8432ba12aa345724de2d7
Reviewed-by: Martin Smith <martin.smith@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
Fix styling and positioning of QTabWidget tabs on macOS Mojave while
using dark mode
Change-Id: Ibe0c90b7625c4f4ff895083fefaade74305ba0ea
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Fixes the text color displayed in the QToolBar on macOS Mojave dark
mode
Change-Id: Ic4415295e314a8fc1c4fbb58964386e0563b8d44
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Without this, xkbcommon feature would not be detected even if all
xkbcommon dev libs are present.
Change-Id: Ic247461dda9e7ddfed547708cccaad88f123903b
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
QKeyEvent instance requires Qt::Key but currently X11 keysym is assigned
and the IBus QT module forwards the wrong key events.
Now QXkbCommon::keysymToQtKey() can generate Qt::Key from keysym and
forward the correct key events.
Change-Id: I25f0a9e9319b4a5f42847f8592ad3a30f6c9349d
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
... because API from qxkbcommon_p.h includes xkbcommon headers.
When we use "QT += xkbcommon_support-private" in *.pro files, we
should not explicitly require "QMAKE_USE += xkbcommon" in those
projects.
Change-Id: I21049034ce93bee13a1107723f26498c221f8ea4
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Add a field remembering the tab position of the dock widget area to
QDockWidgetPrivate and use that when grouping floating docks.
Fixes: QTBUG-74242
Change-Id: I2a453080cb39dd4a5491976f1aeca70ae681682a
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
This document is bound to run out of sync with reality. Actually there are
changes from Qt4.x missing. The streaming operators of the classes contain
many if-then-else cases, making it difficult to represented in a plain text.
With only a partial definition of the protocol, this document is useless to
users, because they should not care how the actual protocol is implemented.
Fixes: QTBUG-73386
Change-Id: I7fc4066ef8186d54dfd48445452c1a6d8bf371c3
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
If the stretch is set to AnyStretch, then this is taken to mean
we should accept the font as it is. But on mac, there is a special
code path to scale the advances since the shaper doesn't do it
for us, and this neglected to check the stretch, thus it would
scale the advances by 0%.
This happened when loading a file directly in QRawFont and using
this in a QTextLayout, since no part of the code path will attempt
to calculate the stretch in that case. Reproducible in q3dsviewer
in Qt 3D Runtime 2.3.
Task-number: QT3DS-3132
Change-Id: I8f934f3fac41bf7a93c01cca0416d44003119907
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
They are the only Qt symbols neither prefixed with q or with the Qt
namespace. This changes preserves source and binary compatibility
while making it possible to define conflicting symbols.
Change-Id: I6d4181206e63faa922fa0c8b644e0a4b88826a97
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
The logic for removing QScreens from QGuiApplicationPrivate has been
moved into the QScreen destructor, similar to QWindow.
Change-Id: I18ad57d8dcf9f765c47be7c082bf075af3ebe69c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
LRESULT on Windows 64 is a 64bit type, adapt filter functions of
QAbstractNativeEventFilter and QAbstractEventDispatcher accordingly.
Fixes: QTBUG-72968
Change-Id: Ie53193e355f0b8e9bd59fa377f43e2b4664a2ded
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
While building on macOS, AUTOMOC sometimes hanged indefinitely.
The problem was that AUTOMOC was executed for the qmacstyle
plugin before moc was actually built.
Because of an upstream bug in CMake, AUTOMOC was caught in a deadlock
without reporting that spawning the moc process failed. Specifically
if a libuv spawn() call failed, the condition variable for a waiting
thread was not notified, and the thread kept waiting forever for the
process launch to finish.
Fix the dependency by setting the AUTOGEN_TARGET_DEPENDS property
on all targets that have AUTOGEN tools enabled. This makes sure that
moc and friends are built before they are used.
Also add some special cases to disable autogen tools on certain targets
to break cycles between targets.
Fixes: QTBUG-74636
Change-Id: I6e689e63cba1962525f169f332a58498d173c0a6
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Mikhail Svetkin <mikhail.svetkin@qt.io>
In the QNetworkAccessManager machinery we would treat "no-cache" as if
it meant "don't cache" while in reality it means "don't return these
cached elements without making sure they're up-to-date"
At the same time as this change is made let's add test data for
"no-store", which replaces the "no-cache" test data.
Fixes: QTBUG-71896
Change-Id: Ieda98f3982884ccc839cac2420c777968c786f6e
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Mikhail Svetkin <mikhail.svetkin@qt.io>
It can happen that QDataStream is fed a QVariant that contains a QPixmap
representation, that will make the application crash when trying to
restore it
This is specially important for cases in which applications expose dbus
interfaces with QVariantMaps
Change-Id: Ife4feaef30f30e7e27d88464bd6b2a247f743123
Reported-by: Fabian Vogt <fabian@ritter-vogt.de>
Reviewed-by: Fabian Vogt <fabian@ritter-vogt.de>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Recurse down the sibling at column 0 of the index instead down the
index.
Change-Id: Ie78d8b28eab7438ca3f83ee0df177115ca82806e
Fixes: QTBUG-73864
Reviewed-by: David Faure <david.faure@kdab.com>
While an invalid time-zone shall have no transitions, so may various
constant zones, like UTC. The TZ data may include only the POSIX rule
for such a zone, in which case we should use it, even if there are no
transitions.
Broke out a piece of repeated code as a common method, in the process,
since I was complicating it further.
Added test for the case that revealed this; and made sure we see a
warning if any of the checkOffset() tests gets skipped because its
zone is unsupported.
Fixes: QTBUG-74614
Change-Id: Ic8e039a2a9b3f4e0f567585682a94f4b494b558d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Without ICU, the TZ-DB backend for time-zones tripped over an
assertion when running tst_QTimeZone::stressTest(), which happened to
probe a zone between its last transition and the first transition of a
POSIX rule that followed it. The code assumed there was no interval
between these two; apparently, there can be.
Change-Id: I3d0ad41fec0a255db2f9bfac54d33aa9b83938e8
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
But only for the 'Light' theme. For "Dark" the system
color fits well (without our rather strange and random
0.5 we set for some reason).
Change-Id: Ic5c8372913515611a567090f82852ffc7ca14eb7
Fixes: QTBUG-74095
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
So we don't need to have a high kernel requirement on its account.
I needed to introduce a configure-time check because we need to include
a header to get the __GLIBC__ macro, but we can't include any header in
assembler until we know it's glibc (we need to know that the header is
assembler-safe). glibc, uClibc and MUSL do provide an assembler-safe
features.h, but Bionic does not.
And we need to know that it's glibc's implementation, since the fallback
was not required. The other three libraries may not implement such a
thing when they get around to adding the system call.
Fixes: QTBUG-74526
Change-Id: I1004b4b819774c4c9296fffd158d14da98bf571c
Reviewed-by: Fabian Vogt <fabian@ritter-vogt.de>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
When checking whether a slot is connected to a signal, we need to
hold the signalSlotLock to be sure about the answer, or we can
get crashes when a connection gets removed while doing the check.
The check in activate() can handle some uncertainty as it's only
a shortcut to the longer path.
Fixes: QTBUG-74604
Change-Id: I3fc822455fbadc0223ef68632f5fb3df3ff3e86d
Reviewed-by: Aapo Keskimolo <aapo.keskimolo@qt.io>
The feature used to be implicitly enabled because qt source ships with
ANGLE sources, and thus ANGLE could always be built. Yet because the
CMake port of ANGLE is not done yet, and because the feature is
implicitly enabled, the build failed when trying to find GLES headers.
To provide a nicer out-of-the-box configuring of the Windows build,
disable the opengles2 feature on Windows, to default to a desktop GL
build. It can be re-enabled once (if) ANGLE porting is done.
After this change, you shouldn't need to pass any additional custom
FEATURE_foo options to cmake to build qtbase on Windows.
Change-Id: I94c96d8ef70cf671d2ce0198311f70b55fa642b1
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
- vulkan/nolink is not a valid target, instead pass along vulkan
include directories to consuming targets, and don't link to the
library at all
- fix vulkan support target name in the windows qpa dependencies
- the wrong opengl dynamic feature was used in the windows qpa
(the current way is consistent with qmake, otherwise
there were issues with the feature evaluation, because
gui feature definitions are not available in the qpa
project scope)
- fix issue with qfloat16_f16c not being built because
of previous subarch issues
Change-Id: Ia75fc76a71e516fe8718027063fe554657d4d47b
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
[ChangeLog][QtCore][QVariant] Fixed a bug that caused isNull() to be
true after downcasting a QObject* payload using convert().
Fixes: QTBUG-73196
Change-Id: Ifda15952f873d7142c95609b69ac424bbf16b723
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
The shortcut needs to be cleared if the native menu entry is being
hidden due to the fact it was changed. Otherwise it will not show the
shortcut anymore as it sees it as in-use.
Change-Id: Ifb10db855766e4de71db06ea006f6d63497f3193
Fixes: QTBUG-74113
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
QPlatformWindow::initialGeometry() would assign a default height to
the initial geometry of the QRollEffectClassWindow since it has height
of 0. This causes the obtained geometry to not match and subsequently
a geometry change being sent synchronously.
Introduce a new flag QWindowPrivate::resizeAutomatic similar to the
existing QWindowPrivate::positionAutomatic to prevent assigning a
default size and pass through the geometry as is where required.
Fixes: QTBUG-74176
Change-Id: I70c66490838a2c4dfe200ec86094d28bd984dd03
Reviewed-by: Kati Kankaanpaa <kati.kankaanpaa@qt.io>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
QDialog::setOrientation/setExtension() was marked as deprecated without
a suggestion on how to replace those functions. Therefore add a
suggestion (taken from the documentation) now.
Change-Id: I13b2af2264064ca1c7c034cf6b920caaadcee113
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
Subjective, but for me its easier to follow code flow if
indentation is not interrupted.
Change-Id: If811ba1b975189c94a671627be8eb3a1fd67aeb9
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Sometimes the XVisual for an FBConfig have no alpha data, and thus
won't work when an alpha channel is required.
Fixes: QTBUG-74578
Change-Id: Idf05cbfcaea5edf667035939e9bc5d5df2172eec
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
To get appropriate aspect ratios for the splash screen, you usually
need separate drawables for the portrait and landscape versions.
We support this by adding two new meta data entries that can be used.
If they are not available, we will fall back to the generic one,
so we are still compatible with existing AndroidManifest.xmls.
[ChangeLog][Android] Added entries in the AndroidManifest.xml for
specific portrait and landscape splash screens. If one is present
for the current orientation, it will be preferred over the generic
one.
Task-number: QTBUG-74029
Change-Id: I5ffea56320aef85f62f21a59df4d077b4163a65a
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
When painting into a pixmap, we would apply the system clip,
which is a rectangle that starts at the position of the current
widget relative to the window. If the widget was not positioned
at (0,0), we would therefore clip the top left part of the drawing
when drawing into a pixmap, which is obviously not intentional.
The solution is in accordance with how it is done in e.g. the OpenGL
paint engine, where useSystemClip is set to true only if we are
drawing to a widget. The system clip should otherwise be ignored,
so we do that in the X11 paint engine as well.
Task-number: QTBUG-70387
Change-Id: I9cad26019970280a8a452dc6f1015d229120cac5
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Anything that uses Qt::Dbus also needs to link to Qt::Core, so encode
that in the target.
Change-Id: Ibc984d5b5e118aae8d1c0d21117fcff1664b0ae3
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
QIcon::paint() paints blurry icons on HighDPI screens.
In particular, it is called by QCommonStyle to paint
icons for CE_ItemViewItem's.
Change-Id: Iffe6bd01a8756e617656195ef63fe13c968e0832
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
The patch causes an Assert on close and thus cannot be used as is. I do
not have ICC available to try to come up with an alternative solution so
the patch is reverted for the time being.
This reverts commit 93a78799c3.
Fixes: QTBUG-74467
Change-Id: Ic572dfa667a479686675eb3f9066d133657b4499
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Yuhang Zhao <2546789017@qq.com>
Fonts look ugly when they are drawn scaled without
antialiasing.
Change-Id: I64268db5b37d4bc763ffa23632aca2eaac5d8eae
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Destroying windows happens independently of closing them, e.g. when
a window is moved from one screen to another non-sibling screen.
The logic for quitting the application should apply to the actual
closing of a window, as documented.
Change-Id: I2226aff29278aa6fbf054a0994a320eb53196e9e
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
The rules of std don't permit us to add an overload for
fpclassify(qfloat16), so we need our own equivalent that we *can*
overload. Deploy it in the few places we use fpclassify().
Extended qnumeric's testing to cover qFpClassify().
Change-Id: Ie5a0a5cc24599d1571404c573d33c682b0d305a5
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
QWindowSystemInterface is the de facto API for any plumbing going from
the platform plugin to QtGui. Having the functions as protected members
of QPlatformIntegration was idiosyncratic, and resulted in awkward
workarounds to be able to call the functions from outside of the
QPlatformIntegration subclass.
The functions in QPlatformIntegration have been left in, but deprecated
so that platform plugins outside of qtbase have a chance to move over to
the new QWSI API before they are removed.
Change-Id: I327fec460db6b0faaf0ae2a151c20aa30dbe7182
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
When the window moves to a new screen then we should ensure the screen
is updated at that point with the new size so it can account for any
scaling changes.
This reverts f1ec81b543.
Change-Id: I2be3aab677c4677841a07beaaf373f498483b320
Fixes: QTBUG-72504
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
When a gesture was unrecognized, then it would add itself to the
obsolete gestures hash. This was cleaned up only on application exit,
but as the unregister call happens whenever a widget that had registered
gestures was deleted then the hash could grow quite considerably.
In order to ensure the original intention of the code here, we only
call unregisterGestureRecognizer() when there is a QGestureManager in
place to call it on. Otherwise it would create a memory leak in itself.
Change-Id: I2342f3f737b28be4af7ed531d83f02197eb66c0e
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
- executed pro2cmake script on windows qpa plugin
- added windowsuiautomation platformsupport project
- fixed plugin dlls and lib files to be written to the same path
- fixed an issue comErrorString which used implicit casting
from QString to char*, but plugins are currently built
with QT_NO_CAST_TO_ASCII
Task-number: QTBUG-74140
Change-Id: I5db3b6c5264bbd5dfba2998b049fda36eb312c70
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
- Fix qmake build
- Fix QtNetwork moc-ing, by including the moc files
inside the cpp files
- Fix sql odbc plugin by including QT_PLUGIN define
- Fix Boostrap to link against the Platform target, to get the
correct Unicode and WIN64 defines.
- Fix vulkan headers to be found
- Fix freetype bzip and png unresolved symbols / linker issues
when building minimal platform plugin (also need to make
sure to use the vcpkg toolchain instead of CMAKE_PREFIX_PATH
because then find_package is overridden, which does magic
to properly propagate static library dependencies).
- Fix qfilesystementry test not to be built without private
tests feature (it led to undefined symbols issues).
- Make sure to remove QT_NO_CAST_TO_ASCII define when building
QtCore, so that the qstringbuilder3 test builds
successfully.
Task-number: QTBUG-74140
Change-Id: I353d08392b604d55f8e62cdd8696d1e19a3c084a
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
The new files represent the json features more closely.
This helps with various build issues as well, like dynamicgl
feature not being present before.
Change-Id: I433592f48e0550700226a635492a3ce15af743c1
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
We can pass these through to to the browser, which
will resolve them relative to the current html file.
Task-number: QTBUG-74289
Change-Id: I595f30456de55da4f1432fb997d381940f51c5f9
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
Fixes the warning:
‘QString::QString(const char*)’ is deprecated: Use fromUtf8, QStringLiteral, or QLatin1String [-Wdeprecated-declarations]
return new QEglFSKmsEglDevice(this, screenConfig(), deviceName);
^
Change-Id: I36654f40219bf0f487e70cf2900d3f30335d4fc1
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
This adds four new logging categories:
qt.text.drawing, qt.text.hittest, qt.text.layout and qt.text.layout.table
Task-number: QTBUG-72457
Change-Id: Ifbfd6d16231c7f4ba664bc521699e44f98310f77
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
This also fixes the documentation for QStyle::SH_Splitter_OpaqueResize
Change-Id: If8afb52ae300e9735a8bc6b065327f17d67f4323
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Add std::nothrow param to avoid exception and
to check pointer against nullptr.
Change-Id: I505abb1ca15b8c10a80b0cd3784a6b0c4c6bcc1c
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
src/network/ssl/qsslsocket.cpp:1501: (qdoc) warning: Can't link to 'QSslConfiguration::defaultCaCertificates()'
src/network/ssl/qsslsocket.cpp:1482: (qdoc) warning: Can't link to 'QSslConfiguration::defaultCaCertificates()'
src/network/ssl/qsslsocket.cpp:1513: (qdoc) warning: Can't link to 'QSslConfiguration::defaultCaCertificates()'
src/network/ssl/qsslsocket.cpp:1119: (qdoc) warning: Can't link to 'QSslConfiguration::setDefaultCiphers()'
src/network/ssl/qsslsocket.cpp:1119: (qdoc) warning: Can't link to 'QSslConfiguration::defaultCiphers()'
src/gui/opengl/qopengltexture.cpp:4137: (qdoc) warning: Can't link to 'setComparisonFunction()'
src/widgets/dialogs/qfilesystemmodel.cpp:1215: (qdoc) warning: Undocumented return value (hint: use 'return' or 'returns' in the text
src/widgets/graphicsview/qgraphicswidget.cpp:1229: (qdoc) warning: Undocumented return value (hint: use 'return' or 'returns' in the text
src/widgets/graphicsview/qgraphicsscene.cpp:3313: (qdoc) warning: Undocumented return value (hint: use 'return' or 'returns' in the text
src/gui/painting/qpaintengine_raster.cpp:3438: (qdoc) warning: Undocumented return value (hint: use 'return' or 'returns' in the text
src/widgets/widgets/qtextedit.cpp:2544: (qdoc) warning: Overrides a previous doc
src/widgets/widgets/qplaintextedit.cpp:2932: (qdoc) warning: (The previous doc is here)
Change-Id: I0c68c59a87eb6a5d9e974f857af6aca0c6e0672d
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Split apart the #ifdef so that qdoc on non-Windows systems sees
Q_SECURITY_ATTRIBUTES and Q_STARTUPINFO, fixing:
LOG Build & visit PCH for QtCore
src/corelib/io/qprocess.h:204:9: error: unknown type name 'Q_SECURITY_ATTRIBUTES'
src/corelib/io/qprocess.h:205:9: error: unknown type name 'Q_SECURITY_ATTRIBUTES'
src/corelib/io/qprocess.h:210:9: error: unknown type name 'Q_STARTUPINFO'
Change-Id: I50b4ee6113da4cd49b6b08b84e6e6590438c5573
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Add missing forward declaration, fixing:
src/gui/image/qicon.h:93:16: error: unknown type name 'QPainter'
This apparently only happens for qdoc.
Change-Id: I39e78258f16628d477b629778241c4f5031820c4
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
When the toolbar was moved from one position to another it could end up
increasing the size of the saveState data due to extra lines. This
removes any needless ones that should not be included.
Change-Id: I1c5d094ae1405d6a82db5fcdc3cd081904706837
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
emscripten sends a touchstart event for every touch point when a new
touch point happens, so this makes them moved or stationary if already
known.
This allows QtQuick PinchArea to work.
Task-number: QTBUG-72214
Change-Id: I8e7c0cd2d78b07cfeae21491846cc31092359050
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
The naïve approach used for layer-backing in the past caused a detach
of the backingstore QImage on each beginPaint, since the image was
assigned to the layer via a CGImageRef that participated in the
QImage implicit sharing (and had to, so we couldn't get around that).
We now use IOSurfaces, wrapped in a QPlatformGraphicsBuffer abstraction.
The surfaces can be assigned to the layer's content the same way images
could, but allows us to reason more closely about whether or a buffer
is in use, and increases the chance that we will have a zero-copy path
to the screen.
Unless the window has requested a surface format with single buffering
we use a dynamic swap chain of buffers. In most situations there will
be two buffers in play, one assigned to the layer and one ready to
paint to, but during resize and some other situations the buffers
will grow temporarily to accommodate the increased back-pressure.
Since QBackingStore is documented as having single-buffer behavior,
we take care to persist content between the buffers before every
swap. By doing this before swapping, instead of before each paint,
we can avoid preserving areas that will be painted to anyways, and
will in many situations (such as blinking cursors e.g.) end up not
persisting anything.
The RasterGL surface case is handled by reading out the buffer data
and doing a manual texture upload. In the future we can support
direct texture access via CGLTexImageIOSurface2D, but this requires
QPlatformBackingStore::composeAndFlush to learn how to support other
targets than GL_TEXTURE_2D, as CGLTexImageIOSurface2D only works with
GL_TEXTURE_RECTANGLE_ARB targets.
Fixes: QTBUG-48763
Fixes: QTBUG-72360
Fixes: QTBUG-71162
Change-Id: Ica12f69b244e54d0fd31c929730d15657c286af8
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
The editor geometry was adjusted in RTL but not in LTR mode before
Qt5.11. 3ed91da499 fixed this but now all
editors are shown with their default size instead adjusting to the item
width. This works in most cases but fails for small column widths and
e.g. a QDoubleSpinBox. Therefore adjust the size policy for the editors
so their default size is ignored and therefore the column width is used.
Don't do this for a QDateTimeEdit since this makes no sense to only show
a cut of part of the editor.
Fixes: QTBUG-74327
Change-Id: Ie526155571bf24a2d8f38e988d8b2af4bfcc92ba
Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
Since faff43348b the min/maxSectionSize is
respected when setting the current/default section size programatically.
This is not honored when writing out the properties and therefore the
default section size is not correctly set when it's smaller then the
default minimum section size.
Therefore make sure to set min/maxSectionSize property before all other
properties.
Fixes: QTBUG-74352
Change-Id: I8f9ede3e90b7c9c65f8440953b00e1d9d6006d38
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
If QtCore is being compiled to a system with FP16 support, then all
applications are too and, therefore, we don't need the tables. Saves 12k
of read-only data.
Change-Id: I46363e5b8944459e8c48fffd158bb53d906df297
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
In commit ec97be5585 an invisible frame calculation was added for
Windows 10 that fixes QWidget::move(0,0) for main windows and dialogs.
But because e.g. Qt::ToolTip windows do not have a window frame, the
invisible margin calculation causes them to pop-up in the wrong
position (off by a few pixels).
[ChangeLog][Windows] Fixed QToolTip pop-ups and QComboBox animation
pop-ups being off by a few pixels on Windows 10.
Fixes: QTBUG-74062
Change-Id: I218e8409a250a8b81ecd1d409b597ebd01fb255f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Split up the code detecting the GPUs into small helpers. Add a
QDirect3D9Handle class providing Direct3D9 functionality, add
GpuDescription::detectAll() and add a QVariantList "gpuList" property to the
native interface.
Task-number: QTBUG-50371
Task-number: QTBUG-65882
Change-Id: I8673542d327837babc2ad8f507da76e8ff5524ea
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
xcb_timestamp_t is a 32-bit unsigned value in miliseconds, so it
wraps after 49.7 days. When it happens, QXcbConnection::m_time stops
updating and copy & paste in an application would not work until the
application is restarted. This patch detects the timer wrap and
allows m_time to wrap too. The fix was verified in KDE desktop with
applications running for 51 days.
Fixes: QTBUG-65145
Change-Id: I328c4179c1b1f71914adda6f9a0ca3991a7e808e
Reviewed-by: Uli Schlachter <psychon@znc.in>
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
If the QT_IM_MODULE environment variable is set, then it loads the
IM module accordingly, otherwise it is using the PPS one, if it is
available.
Task-number: QTBUG-54576
Change-Id: Icb8b474805053d8297029096365783c2cabc2cbc
Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
Reviewed-by: James McDonnell <jmcdonnell@blackberry.com>
(cherry picked from commit 8a7c373f8e)
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
While touching the code, deduplicate some methods.
Change-Id: I28f469f0e9ae000a34466b0ecc604b5f3bd09e63
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
We've so far made our public API match the TinyCBOR error codes, so the
conversion is trivial. Having the two functions allows us to change
that, if it becomes necessary.
It also effectively concentrates the Coverity warning about mixed enums
in a single pair of functions.
>>> CID 190307: Incorrect expression (MIXED_ENUMS)
>>> Mixing enum types "CborError" and "QCborError::Code" for "err".
Change-Id: Ifbadc62ac2d04a9a8952fffd1589e739c7a5b745
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
After e89fbd8c, QString depends on QStringView.
Fixes: QTBUG-74340
Change-Id: I9cba49db73b74deca05b9a9ddfeec580f30b5e35
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
FBOs cannot be shared. Streamline the remainder of the sentence.
Change-Id: I654b23f86f4ee4ea2ca8e71958464d9f55394297
Reviewed-by: Martin Smith <martin.smith@qt.io>
The documentation for QByteArray and QString is using different
notations for '\0'-terminated strings. Unify them by using
'\0'-terminated everywhere.
Change-Id: Ia26ec5c50635bebba1b54b7fe227ff0bcca4f2ad
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch>
After the 'other' parameter in the "defaulted" definitions was
removed to get rid of 'unused variable' error, docs were not
updated properly, still referring to non-existing 'other'
parameter.
Change-Id: I3acbebfa5f1cf915d46a5bbf1b4a1ea18374b565
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
moc now successfully parses enum values, that have been deprecated with
[[deprecated]]. This is valid c++17 and should be handled correctly.
By adding that functionality it is possible to parse Windows headers
which use this deprecation mechanism.
To make sure, that moc works correctly even on compilers that do not
support deprecated enum values yet, the auto test explicitly uses
[[deprecated]] enum values during moc run.
Fixes: QTBUG-74126
Change-Id: I7b9d9a49af6093a97f8fdb800ffbc5af3d54d262
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
A change to qstrtod() will give us a small performance improvement.
Because the qstrtod() function does not correctly parse the NaN values,
an appropriate check condition for NaN has been added.
Also changed code structure so now the double conversion function
is called only in one place.
Task-number: QTBUG-65748
Change-Id: I49d40e5157e79cc5fce35db4c4272d1ccd270c6b
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
qt_asciiToDouble accepts a length parameter, so we can just pass
that through. No need for explicitly null-terminating, which is
where the copy of the data would be made.
Change-Id: I4e7921541f03295a2fae6171b35157084ff3ed8c
Fixes: QTBUG-65748
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Change-Id: I6e61a18697b95d9e3f534d1d71ebf32fdff4a04f
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
e0e1c7ec2d amazingly both removed and inverted key parts of the
logic for tracking the background state of the application.
Fixes: QTBUG-74272
Change-Id: I9a9e8720f32e8228d27ee6b6a1fb35e5f7b7cedc
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Broke over-long lines. Reflowed documentation, refined a phrasing,
corrected some out of date details and typos.
Change-Id: Ic3835bb198bd062f85b3c466b56dc9636d4d3fe4
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Also reuse the status variable, since the value saved in the one
previously declared int was an OSStatus, too.
Change-Id: I8e8fe308ae71df51e8057d89bc76cab0c6bbedb2
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This enables some simplification of the existing implementations.
Refined wording of the documentation in the process.
[ChangeLog][QtCore][QCollator] Added support for QStringView.
Change-Id: Idffaae8d109173d47c7be076828f4b58dc334957
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
QCollator needs it to add support for QStringView.
In any case, it extends the mirror of QString's API.
Naturally, we can reimplement QString's version using it.
Change-Id: I5a23a3f2a98c7d59597b5e935542a93764b5e350
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Commit 25133a1b77 fixed the item view text
layouting correctly in a technical way. For a vertically aligned text
which does not fit into the given rect it is not user-friendly to show
some parts of the text. It is better to display the start of it and show
an elide marker in the last visible line.
Fixes: QTBUG-73721
Change-Id: Ia7453133ea0a229b24196467168c8371585c4d8f
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
Qt (via the the qtloader.js API) now supports rendering
to multiple canvases. The application sees each canvas
as a QScreen.
Make qtloader.js support multiple canvases:
var qtloader = QtLoader({
canvasElements : [array-of-canvas],
showCanvas: function() {
// make canvas(es) visible
},
});
The canvases were previously created/returned by showCanvas(),
however this function is called after the Qt app has
been started and adding screens that that point is
too late. (This worked before since there was only one
screen, and no need to connect each screen instance
to specific canvas.)
Remove QWasmScreen, QWasmCompositor, and QWasmEventTranslator
singletons from QWasmIntegration. These are are now
crated per-screen and are owned by the QWasmScreen.
Task-number: QTBUG-64079
Change-Id: I24689929fd5bfb7ff0ba076f66937728fa4bc4e4
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
This allows for multi canvas use
Task-number: QTBUG-64079
Change-Id: I69c998aa4c2869bb5b7f14ba65bb63284365ad70
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
for SecureTransport backend. OpenSSL, while reading
RSA/DSA, is internally calling EVP_BytesToKey that
essentially does the same thing this patch does in
'deriveAesKey' and thus able to correctly decrypt
whatever it first encrypted (while generating/
encrypting keys).
Fixes: QTBUG-54422
Change-Id: Ia9f7599c5b19bf364c179f2abd2aab7ea5359a65
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
src/corelib/itemmodels/qtransposeproxymodel.cpp:166: (qdoc) warning: Unknown command '\details'
src/corelib/itemmodels/qconcatenatetablesproxymodel.cpp:102: (qdoc) warning: '\brief' statement does not end with a full stop.
src/corelib/itemmodels/qconcatenatetablesproxymodel.cpp:233: (qdoc) warning: Undocumented parameter 'index' in QConcatenateTablesProxyModel::flags()
src/corelib/itemmodels/qconcatenatetablesproxymodel.cpp:165: (qdoc) warning: Undocumented parameter 'proxyIndex' in QConcatenateTablesProxyModel::mapToSource()
src/corelib/io/qresource.cpp:275: (qdoc) warning: Can't link to 'isCopressed()'
src/corelib/io/qresource.cpp:555: (qdoc) warning: Can't link to 'compressionType()'
src/network/ssl/qocspresponse.cpp:47: (qdoc) warning: '\brief' statement does not end with a full stop.
src/network/ssl/qocspresponse.cpp:47: (qdoc) warning: Can't link to 'QSslSocket::ocspResponse()'
src/gui/image/qimage.cpp:2247: (qdoc) warning: Undocumented parameter 'f' in QImage::convertTo()
src/gui/image/qimage.cpp:2247: (qdoc) warning: No such parameter 'format' in QImage::convertTo()
src/gui/text/qtextformat.cpp:1420: (qdoc) warning: Undocumented parameter 'styleName' in QTextCharFormat::setFontStyleName()
src/gui/text/qtextformat.cpp:1420: (qdoc) warning: No such parameter 'style' in QTextCharFormat::setFontStyleName()
src/widgets/dialogs/qdialog.cpp:151: (qdoc) warning: Unknown command '\p'
src/widgets/dialogs/qdialog.cpp:167: (qdoc) warning: Unknown command '\p'
src/widgets/dialogs/qdialog.cpp:167: (qdoc) warning: Unknown command '\p'
src/widgets/dialogs/qdialog.cpp:168: (qdoc) warning: Unknown command '\p'
Change-Id: Ide52b70f8e72d53767d489ce1a413cf4c2dce7df
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
To get rid of different warnings (visible in qt-creator at least).
Change-Id: Ic7b57cbd56494704eda3f0616fcd901a8fab63db
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Given the current feature disparity, it makes sense to give our users
ability to detect if they can use some feature or not in their application
code, using our 'modern' QT_CONFIG(securetransport). Accordingly, use this
new syntax in our own auto-tests.
Change-Id: Ib33b03e7e602e9f8b0db8251377c89dbaada1049
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Fix:
widgets/qcombobox.cpp: In member function 'void QComboBoxPrivate::emitActivated(const QModelIndex&)':
widgets/qcombobox.cpp:1369:22: warning: 'void QComboBox::activated(const QString&)' is deprecated: Use textActivated() instead [-Wdeprecated-declarations]
In file included from widgets/qcombobox.cpp:40:0:
widgets/qcombobox.h:234:10: note: declared here
widgets/qcombobox.cpp: In member function 'void QComboBoxPrivate::_q_emitHighlighted(const QModelIndex&)':
widgets/qcombobox.cpp:1382:24: warning: 'void QComboBox::highlighted(const QString&)' is deprecated: Use textHighlighted() instead [-Wdeprecated-declarations]
Change-Id: I11bdbbeeaa05f1e1bd91351eba329ce9895951f9
Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
At least on RHEL 7.4 I have compilation errors (unused parameters).
Since this is our own CI machine, I suspect something is not right
with our bloody CI - if the breaking change managed to merge in
the first place.
Change-Id: I681ff2b5fa34495a2e3ca0849a5b1963f75fd621
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
moc does not generate moc_defs.h and that's why moc does not understand
that he runs on macOS.
It happens because cmake can not find Qt version.
Change-Id: I34c51ebb69dc1ff782a0f129e114cda819122805
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Since Activity's onConfigurationChanged is not called
when rotating from landscape to landscape (through 180 degrees),
added display listener to detect the rotation.
DisplayManager.DisplayListener.onDisplayChanged() is called exactly when
Display.getRotation() value is changed.
Task-number: QTBUG-56919
Change-Id: Iabf376adf0a0756dddacaece62e5a2ac604ea947
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
As explained in the inline comment we don't actually have a
protocol handler until we're done encrypting when we use SSL, but we
would still retry the connection if an error occurred between
"connected" and "encrypted". This would then lead us to fail an assert
that checked if a protocol handler had been set
Fixes: QTBUG-47822
Change-Id: If7f4ef4f70e72b764f492e7ced5a9349b3a421d2
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
- braces on same line as else where applicable
- const where possible
- Same extended logging format for all cases
Change-Id: If0c91f270ce2a9be1d295f42a915900f3b1838cf
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
There is no more internal function for adding general linker flags.
Let's use the appropriate cmake function right away, regardless of the
compiler choice. This is also how global.pri handled it.
Change-Id: I20c9002a31aa4d7e64c1c59d8d67118774da337c
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>