We were removing the .qrc suffix of resources in a way that assumed the
filenames would not have any dots in them, but this is not always the
case, and we would end up resolving an empty resource name for file
names such as .rcc-bar.qrc (e.g. as produced by the qmlcache system).
We now remove the .qrc extension explicitly.
Change-Id: I50e1d88ac71ca1335bb05f3dbbb2d9bb441a8d64
Fixes: QTBUG-81255
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
This code has not been doing anything interesting since symbian times
Change-Id: If652c75b85e20f631edc4f946aacdee479a19212
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
QDBusReply has an user-specified operator= but no copy constructor.
Change-Id: If7fcec3193af375f1bf2dd913d82548d6e035b48
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
In 5.13, isActive() would become true only if there
was a scale factor >1 present. This was accidentally
changed in 5.14, where isActive() becomes true whenever
e.g. AA_EneableHighDpiScaling is set, no matter the actual
scale factor values.
Change-Id: Iacbe2010cddbc3b9015ac24004ae2fe417d4f434
Fixes: QTBUG-80967
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
The theme was the only client, so there's no point in keeping it separate
from its only call site.
Change-Id: I4783c5db6975ad2daaede704ab5855c57f190344
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
They overlapped and the latter had duplicated code, so make them into
a single data-driven test. At the same time, replace the '-' at the
start of the expected string with QLocale::negativeSign(), since the
test fails otherwise when LC_NUMERIC=nb_NO on Linux (Debian/testing).
Change-Id: I051c75abff16b2e6f8278fcb152b6bde14c71f9a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
It was calling a QDate's year(), month() and day() methods, each of
which repeats most of the same calendrical calculations; and the same
results can be obtained from the calendar's partsFromDate() all in one
go. This also reduces the number of local variables needed.
Change-Id: I8f84e66a5f677f55cb2113c56ebbdf7c2517e828
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
It was meant to be deprecated in 5.15, not deleted (yet).
Change-Id: I6e3772d6c1d12dc060c1f540e55e756566db22e6
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Change qtbase/ef54abae43db79792b40dfdca30ac0fa1b582354 added a
new dummy message window for power notification. This causes the
static class name conflict check to assume there is no conflict
since it does not exist in previous Qt versions.
Change it to perform the for each class name.
Fixes: QTBUG-81347
Change-Id: I290806d021ac7de130a41e996d03b8fb4eb2c437
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Re-add the code hooking into
QWindowsUiaAccessibility::notifyAccessibilityUpdate()
which was removed by
0cf6297c15.
Fixes: QTBUG-81342
Change-Id: Ie97d7cca5b774196d53b675c92d84f4ce208f987
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Source files that are right next to the project file result in an
empty "object subdirectory" if object_parallel_to_source is set.
We must not attempt to create empty directories.
Fixes: QTBUG-81271
Change-Id: I431f9fbe46f50fbbaa5d6a59966bfb059418036c
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
The use of the 'ordered' CONFIG option is known to not be efficient for
multi-core builds. This patch updates the documentation with an example
using the .depends modifier as well a discourage the use of 'ordered'.
Change-Id: I3575243a7c4138f0671d171441c932c3ad89a411
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
The test expects a very explicit list of events during show, but on
macOS we also get an InputMethodQuery event as a result of the window
becoming active. The test needs to be written significantly to support
these kind of platform differences.
Change-Id: I395c1e9e4e9baf7d9f88f0d067586fc15afb9a16
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
For some reason the firstChild gets the focus when clearing the focus.
This seems to be timing dependent, as removing the 30ms qWait 'fixes'
the issue. So does a processEvent call before minimzing. Both of these
require further investigation.
Change-Id: I62833a5541712f97dc24bc63384fa4c051096537
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
There's a timing issue that affects the position of the vertical
scrollbar when scrolling by pixels.
Change-Id: I29d73574785be539a5870b498a902b1aba887e9c
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
It's not clear why this is failing, but we need to blacklist it so that
we can move over to testing macOS 10.14 and 10.15 in the CI.
Task-number: QTBUG-75786
Change-Id: I208d5af92406c5da8d0210e0188568466b78b2a9
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
The combobox popup can overlap a little with the button, and that's the
expected behavior.
Change-Id: I245bfce85cb5ee661ceb51dbe0d844492878a2bc
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
We were being inconsistent in how we handled this, some tests skipping
while others using QVERIFY. It makes more sense to skip the tests, since
the problem is a missing pre-condition of the test, not the test itself
being bad or exposing real failures in the implementation.
Change-Id: I20eacfe12dbce0b0d926e48cbe2d2772819fa4a5
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
The logic is now mostly handled in QGuiApplication, with QApplication
only dealing with the widget-specific palettes and interaction between
the style and the palette.
The application now picks up changes to the platform theme and will
re-resolve the current application palette appropriately. This also
works even if an explicit application palette has been set, in which
case any missing roles are filled in by the theme.
The palette can now also be reset back to the default application
palette that's fully based on the theme, by passing in the default
constructed palette (or any palette that doesn't have any roles set).
This is also correctly reflected in the Qt::AA_SetPalette attribute.
Conceptually this means QGuiApplication and QApplication follow the
same behavior as QWidget, where the palette falls back to a base or
inherited palette for roles that are not set, in this case the theme.
Behavior-wise this means that the default application palette of the
application does not have any roles set, but clients should not have
relied on this, nor does QWidget rely on that internally.
It also means that setting a palette on the application and then
getting it back again will not produce the same palette as set,
since the palette was resolved against the theme in the meantime.
This is the same behavior as for QWidget, and although it's a
behavior change it's one towards a more sane behavior, so we
accept it.
[ChangeLog] Application palettes are now resolved against the platform's
theme palette, the same way widget palettes are resolved against their
parents, and the application palette. This means the application palette
reflected through QGuiApplication::palette() may not be exactly the same
palette as set via QGuiApplication::setPalette().
Change-Id: I76b99fcd27285e564899548349aa2a5713e5965d
Reviewed-by: Vitaly Fanaskov <vitaly.fanaskov@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
The most common mouse wheel movement corresponds to angleDelta().y().
We have previously allowed the user to use either wheel to scroll either
a horizontal or a vertical scrollbar when the mouse is hovering over it;
but 7d29807296 changed it so that the
vertical mouse wheel could no longer scroll a horizontal scrollbar.
The behavior is now restored as it was in
59cc316620.
Task-number: QTBUG-81007
Change-Id: Ieacdce539d5311499a86af645bbe0d5098e16be6
Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
...but keep support for deserializing for all older versions in order to play
nice with existing .qsb files.
The usage of binary JSON and then CBOR is a historical artifact: relying
on the QJsonDocument (which we generate for purposes unrelated to binary
serialization) was a convenient shortcut. However, writing to and
reading from a QDataStream instead (which QShader already does) is trivial.
In order not to be limited by potential CBOR requirements in the future,
take it all into our own hands.
Extend the qshader autotest accordingly.
Task-number: QTBUG-81298
Change-Id: If0047b659bd6601ca47b5bbbce1b719630cde01e
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
The new float16texture_with_compute manual test demonstrates a case
that was not handled correctly before: multiple dispatch() calls in
a row storing to and then loading from the same subresource(s).
Without the appropriate barriers subtle data corruption issues appear.
For Vulkan this also adds better batching for image/buffer barriers when
using deferred recording.
Also, for OpenGL this fixes the case of updating a buffer or rendering into
a texture and then using it for load/store in a compute pass (previously this
also lacked an appropriate glMemoryBarrier).
Task-number: QTBUG-81217
Change-Id: I7970c445564473f9452662f4b1a20618cb8627a3
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
What's more, demonstrate two types of rendering to a cubemap:
one by one to each face, and by attaching all faces as color
attachments in one go.
Both are used by Qt Quick 3D in connection with shadows, so this
proves that the same is possible to implement with QRhi.
Task-number: QTBUG-81261
Change-Id: I5c7077224d7cae0dd6ea02ac30a9e6f9f1f0c229
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
Uses the two compute shaders from Qt Quick 3D. Demonstrates
and tests both RGBA16F textures and using them (and doing
load/store with mip levels individually) in combination with
compute.
Task-number: QTBUG-81213
Change-Id: I3f0f250d5997a26c857b7c45517684c63b44e58e
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
When not doing fat builds, QMAKE_MAC_SDK_PATH defaults
to iphoneos sysroot, which breaks compilation.
This fixes compilation when user sets also CONFIG-=device
Change-Id: I1d18269946cd2a5608e26d943159c824f31db09a
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Doing only debug build is not supported at the moment.
Add error to configure.
Task-number: QTBUG-71990
Change-Id: If35d00c3f09d733efe63d5ea66d07e4a3ec922cc
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
It has been a QPoint for a long time now, to support both the usual
vertical mouse wheel and also the wheel tilt for horizontal scrolling,
or the actual horizontal wheel if the mouse has one, or the simulation
of a horizontal wheel via touchpad gestures; but the docs continued to
read as if it was just one value.
Task-number: QTBUG-71575
Change-Id: I3efa686ace4f09c7f237f72bf0500fbfbd3213cb
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
Based on Glen Johnson's patch, but rearranged to avoid repetition.
Fixes: QTBUG-81248
Change-Id: I9c23ab233ebd5514bc05fd155999597ada7295ef
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
The call to qRegisterMetaType() has been removed since the type
is registered as a meta type in Qt 5. Assert on the meta type id instead.
Adapt the documentation accordingly.
Fixes: QTBUG-81254
Change-Id: I0cb459d0dda7a82fc37871605ff634004af0f9f9
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Because MSVC warns. Added by me on commit.
c496fee2a5
Fixes: QTBUG-81310
Change-Id: I596aec77785a4e4e84d5fffd15e93a8e367e035e
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
An empty QTextDocument already contains a block; so when the formatting
is fully determined, if the document is still empty, then instead of
inserting a new block, we can set formatting on the cursor, which
affects the pre-existing block, before inserting text. This avoids
leaving a blank line (the default block) above the inserted content.
Fixes: QTBUG-81060
Change-Id: I14e45e300a602493aa59680417d74d4c2b25862d
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
You cannot be sure that property with specified key in
a global object is really a canvas.
Should use `document.getElementById`.
Change-Id: Ife55adaad5517aed64122b0c9bff32489cf19a2f
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
The standard makes them as big as int_least16_t / 32_t, i.e. big
enough to hold UTF-16 / UTF-32 code units. We're relying on them
to be *exactly* 16/32 bit instead.
Drive by: move the check that a char is 8 bits before saying that
some other type is not its expected sizeof() * 8.
Change-Id: Idbf3d33331667d417702d9dde221905bcfc4d021
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>