| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is the simplest way to prevent the garbage collector from
destroying the object while at the same time allowing a manual
destruction.
Task-number: QTBUG-95895
Task-number: QTBUG-96167
Fixes: QTBUG-91390
Change-Id: Ic3f3146bc555991068ce3367971e050f745d235d
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 718f3469f693eb179f1504a41b18280656a2325d)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Actually it just reverts 4db31cbd4e29cf5387f4332537f8ea9e0e9f62ae.
When calculating a position for a decoration, we should just apply the
decoration's offset to the line's baseline (line.y + line.ascent).
The regression was introduced by 54b5287adf4f5b004fcf47840c7f2e1e561a90c1
in Qt 5.6, when we switched from prepending leading to the baseline
of text and started appending it instead.
Fixes: QTBUG-96700
Fixes: QTBUG-97594
Change-Id: I7f816b71859ffcb6b1c641f0c8b8e1d810bfc525
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
(cherry picked from commit 5d082dc9b87cfce68676f2fc1666a54afd8399b1)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
qmlformat currently discards ES classes, and only reformats the element
list inside that class. Implement a class declaration visitor which
reformats ES classes in qml file.
Fixes: QTBUG-110321
Change-Id: I9fa2561902dbcfde5e8fb041bc5dedcc56bb66cc
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit d962fe4abbf185abb1bc7464a00a93bc0e9d288b)
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: If1180dba6ac977225e932d8a18baf0b8fcda56eb
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There is a section for this on Container's page, so let's link to it in
more places.
Task-number: QTBUG-109996
Change-Id: I8c96f0cb0998d65a2c2669b6358236a14e0352dc
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
(cherry picked from commit 70f1732ee6f9ad3c895061acd55cef3e21c5094f)
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The estimated width in the table view has been used to layout
and accordingly, edges of the table be loaded. This estimated
width will be passed to flickable to adjust its parameters and
width/position of scroll bar. This in turn change geometry of
table view with respect to view port.
In some scenarios, this estimated width during layout causes
table view to be misaligned. This can be avoided by calculating
and updating latest content width of the table view once after
loading the edges of table.
Fixes: QTBUG-108664
Change-Id: I47c3325bc9e51f75c87564a2ec1de4522e4a7e60
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
(cherry picked from commit 19b35008e2b2bebef10a9d52c8389920df1e1953)
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
With file selectors, a type can exist in the same version under
different paths. Detect this case, canonicalize the filename to the
selector free version, and rely on the engine to resolve a URL to the
correct file.
Fixes: QTBUG-107797
Change-Id: I0f74fd37936abfa08547fb439bfa5264e6ca4787
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit 9bfb27be010940ca735ca7dd67a092a03289e27c)
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
|
| |
| |
| |
| |
| |
| | |
Change-Id: I86ba0659fcd5a0c38b664738b9e0b3b28562dbf5
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
(cherry picked from commit d09a0778e1c243be8931c3bec95c8970ace95f7b)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
You should really not use it, but people should know about it.
We cannot deprecate it because QtQuick Controls needs it.
Fixes: QTBUG-95448
Change-Id: Idcc31d13a8eaa709944f2271389642b7fdbe84fe
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 05908e67a2a281b56bad503490e5c9121e9f285a)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The handling of the stroke color lacks the extra checks that are
performed when setting the fill color. Switching from "transparent"
to another color involves setting not just the color-dirty flag but
also the geometry-dirty since alpha == 0 may skip operations such as
triangulating, meaning the work has to be performed later when once
again switching to an alpha > 0 color.
Change-Id: Ibd6d762cfcb07ca8b9c852553c979bcb4ee9fa21
Fixes: QTBUG-109882
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
(cherry picked from commit 650e7d47f8e333761df86e60c290e885106b26c6)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It's a header, and at least tst_styleimports.cpp doesn't use all of
the functions, so throws a -Wunused-function warning on Clang 15 for
runTests():
qtest_quickcontrols_p.h:36:12: warning: unused function 'runTests' [-Wunused-function]
static int runTests(QObject *testObject, int argc, char *argv[])
^
Fix by marking the functions as inline instead.
Amends e310dadef779b28845b41fb091634cd001cda9de.
Change-Id: Id6cee7bdc2fe93a5e034d7ed445dc5f2c5d35360
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
(cherry picked from commit e34142e6cda177b601d8e5daba00a2ab84828db1)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The 'int line' variable is shadowed a few lines below by the
'QByteArray line' one, even in the initial commit, so it can never
have been used, except for the increment in the first line of the
loop's bodies.
Remove the variable, fix the warning.
Found by Clang 15:
test262runner.cpp:380:9: warning: variable 'line' set but not used [-Wunused-but-set-variable]
int line = 0;
^
Amends d9c4a527241e0ef3a30e990c518197b0ba345b50.
Change-Id: I2139aa4552d1ff2ddbb5737e2a1b26650d6519e7
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit 9d04888c9cb8a89f17279da6ed9b9f65a49a94b0)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
| |
| |
| |
| | |
Change-Id: I81a8de8042fdd200b8a7874d04abaef469cad8f0
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The documentation format for QML methods is peculiar, but this should
do for now.
Fixes: QTBUG-90480
Change-Id: I0fdbb7f4a704990de1356010c8b7d44764b7e41a
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 4b7566ade282694c1903a10867a1612cb04630dd)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
On 32bit platforms you cannot losslessly convert quint32 to qsizetype.
However, in the places we are facing here, we are only interested in
signed 32bit numbers anyway.
Change-Id: I93a07c2847bd5bfae426dccbb6c0e33c5758442d
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 4e1fe071ff05b92ed12fdf59a2185e1254b411cf)
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
latest QuickTestUtils needs Qt::Network (QTBUG-107472)
Disable to build it and another module depending on QuickTestUtils
unless network is available.
Change-Id: Ib522efa68d9ca4669afaf1fc8bbb18b079995ac1
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit b539b1f26bbd84927ea14837958d11b8d89491a4)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If the requested size is not set, the QQuickImageBasePrivate::sourcesize
is -1. Multiplying it with devicePixelRatio is useless because it will
be still an invalid size and it will be ignored. Nonetheless,
QQuickImageBase::pixmapChange() will still divide the size with
devicePixelRatio resulting smaller images.
The issue is reproducible with the tst_qquickimageprovider auto test if
ran with QT_SCALE_FACTOR=2 set.
Fixes: QTBUG-109854
Change-Id: I9fea39c34144e5eae7e421bccc8dc65388dd5b32
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
(cherry picked from commit 1609f8628d1469f723a762c60ccb5856637956dc)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In header view, the header proxy model which acts as proxy for table
model, connects headerDataChanged() signal to a slot with both sender
and receiver as table model object. This connection happens each time
header view instantiates or model in the header view need to be reset.
In a case, where header view reinstantiated (released and loaded) and
table model not released, the newly instantiated header proxy model
creates a connection to the existing table model for headerDataChanged()
signal and this creates a connection leak.
This can be avoided by making header proxy model as receiver
similar to other slots within the proxy model.
Fixes: QTBUG-108610
Change-Id: I1b250f98310e16743f7fc2c4cc11cbfb3d9fff45
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
(cherry picked from commit 6b4939df5cd9c8f0ab37a020fb076de56787fa46)
Reviewed-by: Santhosh Kumar <santhosh.kumar.selvaraj@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Those node recreations happen when the RHI backend is recreated.
One such case is GLX_NV_robustness_video_memory_purge
In such cases QQuickTransformAnimatorJob::invalidate()
will be called, however the node will never be re-set
Change-Id: I3136c220f41781689f4a271caf0543a3b659447c
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
(cherry picked from commit 0359381bc78fb69999d3c687d617858f9666c0aa)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If the binding was not actually set (because the bindable is readonly)
then it's dead after the pop_front. We cannot examine it anymore, and we
don't have to.
Fixes: QTBUG-109597
Change-Id: I3bf0ca501aa9ad45a64ad181b685ca6d9d325231
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 4dfcaa7ee8273914ea8cd9fd232064ce95cb15d1)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
A QQuickWidget contains a Quick UI, which can be expected to handle
touch events, and it handles touch events by forwarding them to the
QQuickWindow. So set the AcceptTouchEvents attribute and let the
Qt Quick delivery machinery deal with the touch-mouse synthesis
within the scene.
Also, Qt Quick's event delivery might return event points as ignored
after setting the exclusive grabber. Qt Widgets touch event delivery
logic doesn't care about exclusive grabbers, and relies on the event
points being accepted to make the widget that received the TouchBegin
an implicit grabber. QQuickWidget needs to translate those states back,
so accept all points that come back with a grabber.
Add a test that verifies that a button in a popup gets all events,
and that those events are translated correctly - without the fix,
the "clicked" test fails, as the release is delivered, but with
coordinates outside of the button.
Also test that we can have two QQuickWidgets where each gets one
touch point.
Fixes: QTBUG-101736
Change-Id: I3a2bf05fd297ae4d72b6e236ecd8e5ddac37ce06
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
(cherry picked from commit dc8f44b14501ecd4acc196f5138aeff3f7502d0a)
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-101736
Change-Id: Iecbe6b4da75851cb94c4c2bae41bb0cb50f0ed30
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
(cherry picked from commit 26cd43f027ce6d5559a0f647155a0112569ce94a)
|
| |
| |
| |
| |
| |
| |
| | |
Change-Id: I469c4f813f006ca47f9660a0c9ccfa30bbe89dc6
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
(cherry picked from commit f92a2a679886b09ff03e9d70d1bf1269f421347a)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The C toupper/tolower functions are locale-dependent. Given the right
locale (Türkiye, e.g.), toupper(i) is either
- İ (LATIN CAPITAL LETTER I WITH DOT ABOVE; if representable) or
- i (unchanged; if it isn't)
Both results are wrong for the present use-case. Use the new
QtMiscUtils::toAsciiUpper() function instead.
Amends d481f2ff518df1e44103d1850e7d52bd69260c34.
Task-number: QTBUG-109235
Change-Id: Ib66593fc7eff3edc0cc16291ca3eae8bdf0dd8ed
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 179200d2a3fa0df28fbf3790f8ff1ee47d0926c0)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
| |
| |
| |
| | |
Change-Id: Iab9599134113833cd9b63a7ae9d85e1f78577668
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
A big advantage of PinchHandler over PinchArea is the ability to zoom
into a particular location in the target Item, so let's not fail to
show that off.
Change-Id: I0f22abff99bdc60bac27e72fd5f66be4796794df
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
(cherry picked from commit e39b4572c272f8a0a7be048a24808cb028480e82)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
| |
| |
| |
| | |
Change-Id: I3130254c32e47d2ca055c641cd0cef6f8705505d
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
| |
| |
| |
| |
| | |
Change-Id: Ia6afd11314a879e264198c73685dcd8886ca296e
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If we have a deep alias we need to bind to the inner object rather than
the outer one.
Fixes: QTBUG-109417
Change-Id: Iefe8641026cfbbf9199b2bb8d9fa2f5fba591f17
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit e9b7eaaf6e627c84cf77dc0ea76c9cb40d705711)
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fixed a bug where QQuickPopupPositioner::reposition() was confusing
coordinates obtained by mapToSource() and mapToItem() during mirroring
of the popup. This leads to popups at the wrong places, e.g. when a
rotated combobox has not enough space to unroll its popup.
Translate the coordinates using mapToItem instead of mapToSource after
computing the alternative position of the popup (e.g. when it can not
be unrolled correctly).
Add a test to check if the combobox popup appears at the right places.
Skip native styles as they might be pushing the popup around, same
for Android as they might have too small screens (which involves
more positioning logic then just the mirroring).
Fixes: QTBUG-105148
Change-Id: I0033509a8824e3a71698f91ef832b94527d8e2c8
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
(cherry picked from commit 5c1d96b70a3de9a08a473ffcbcace8d6a7c5fa3b)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When we look up glyphs with subpixel positions in the glyph cache,
we use the calculated subpixel position (from a set of predefined
subpixel positions) as key. In some very rare cases, we could end
up with different subpixel positions when looking up an on-screen
position than when we entered it into the cache, due to numerical
differences when doing the calculation.
The reason for this was that when entering the glyph into the
cache, we used the 16.6 fixed point representation, whereas when
looking up, we used the unmodified float. In some cases, the
converted fixed point approximation might snap to a different
predefined subpixel position than the floating point equivalent.
To avoid this, we reuse the converted fixed point positions when
looking up the glyphs in the cache.
[ChangeLog][Text] Fixed an issue where text using NativeRendering
would sometimes be missing glyphs.
Fixes: QTBUG-108713
Change-Id: Iecc264eb3d27e875c24257eaefcfb18a1a5fb5be
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
(cherry picked from commit 4bad329985b75090c68a70cceee7edadc172d7ab)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
| |
| |
| |
| | |
Change-Id: I862a5809107914aa5b3dc30fe8bebdcbc16903b8
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
A previous patch 5647527a8cde84b51fff66fc482f02435770b3dd causes
a regression. The purpose of the patch, that caused this regression,
was to update the pressPos variables, in cases where the contentItem's
geometry was modified externally, while a user were dragging the
contentItem around.
The mistake that was made, was how width and height changes were
handled. We had previously added logic in setContentWidth() and
setContentHeight() that would call fixup() (with immediate fixupMode)
to ensure that the contentItem would immediately be repositioned
inside the flickable's viewport, if the contentItem was being dragged.
It turns out that setContentWidth() and setContentHeight() are being
called from QQuickItemViewPrivate::updateViewport(), which happens
quite often, while dragging. This would make fixup() and dragging
constantly interfere with each other, since they'd not always agree on
a specific position for the contentItem.
This patch reverts the changes made to setContentWidth() and
setContentHeight(), since it turns out that those changes weren't
necessary after all. QQuickFlickablePrivate::itemGeometryChanged() only
calls viewportMoved() on x and y changes anyways.
Done-with: Jan Arve Sæther <jan-arve.saether@qt.io>
Done-with: Santhosh Kumar Selvaraj <santhosh.kumar.selvaraj@qt.io>
Fixes: QTBUG-109140
Change-Id: I0bddf8685d3afc1ae04b2c092212d3c1bd742c3b
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
(cherry picked from commit b307bf3c4f63c6e04874a972c747f18e18ddc199)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If the Drawer does not cover the whole window, it's possible to tap
outside the dimmer overlay. In that case, next time you tap on the
dimmer, you hit this early return in handleRelease in which
pressPoint.isNull(), so it was not setting touchId back to -1 and doing
the other cleanup/reset tasks. This is a touch release, and touchId
should always be eventually reset after a touch release, regardless of
the code path.
Now QQuickDrawerPrivate::handleRelease() has a QScopeGuard to ensure
that cleanup is done regardless of early returns. That's still not
enough; but when we receive TouchEnd in QPopupPriv::handleTouchEvent(),
it means that _all_ touchpoints are released. So as a fallback for
multi-touch cases, we now ensure that all releases are handled and
stored state is reset, regardless of whether an individual point ID
matches the stored touchId.
Fixes: QTBUG-103811
Change-Id: Ia637bae00d8edb7f7f4c8fb4337b4c3d72fe4e60
Reviewed-by: Doris Verria <doris.verria@qt.io>
(cherry picked from commit 730cdc5043a8823dfcdce7d3b2035875f8f987c1)
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The attached ListView.isCurrentItem property is updated when
QQuickItemViewPrivate::updateCurrent() method is called.
During the initialization it could be potentially called twice:
* from the QQuickItemView::setCurrentIndex() method, but that does
not happen, because the isComponentCompleted() condition is not
fulfilled at that time.
* from QQuickItemView::componentComplete() method, but that does
not happen, because the d->isValid() condition is not fulfilled.
The latter means that the model is not yet initialized.
This patch attempts to fix it by adding the updateCurrent() call
into layout() method. This method is called each time the
component needs to be redrawn, so it creates the proper
currentItem during the first call. Most of the subsequent calls
will do nothing, because the currentItem will be non-null, and
the currentIndex will not change.
The unit-test is taken from the reverted commit
d9f9d773e92940786f159897623618f3bf6bcf0f.
Another unit-test is meant to check that there is no regression
like in QTBUG-98315.
Done-with: Joni Poikelin <joni.poikelin@qt.io>
Fixes: QTBUG-86744
Change-Id: Iab86a9c0e22660126f152727e8bd393ac17f5d15
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
(cherry picked from commit 9124fcecb4e33d33bcd6c4d678d746bc673ea46c)
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Amend 80166d58a18370bd5a2c6c61d2519011cfd65721, which broke touch event
handling in SplitView. Implement handling of TouchBegin/Update/End
events equivalently to the mouse event handling.
As a drive-by, rename the logging category from 'mouse' to 'pointer',
and refactor the if/else sequence to a switch statement, reducing
duplication of code that's common for all event types.
Remove expectFail from the test that now passes.
Fixes: QTBUG-105312
Change-Id: I156f55fa40b2afaaa115e59940d26187121fc16a
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
(cherry picked from commit 6de2397da24e8068282c2d2bda5d1637ac033bc6)
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This broke in 80166d58a18370bd5a2c6c61d2519011cfd65721,
so to ensure that doesn't happen again, add a test that is expected
to fail until the issue is fixed.
Task-number: QTBUG-105312
Change-Id: I70462304b5bf74c58420632a7e512be8d7cbb817
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
(cherry picked from commit b31d4dc39e1203051de2911280d0d918ae020a9f)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
A parent that filters mouse/touch events for a child might make the
child the exclusive grabber of the touch point when filtering, and the
child might have the keepTouchGrab property set. In that case, don't
override the exclusive grabber with the filtering parent.
Task-number: QTBUG-105312
Change-Id: Ic04513987d5ecb2cd0b12939b7d66091e85b35ee
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
(cherry picked from commit f15f1d643ebf70fe9d3c67ea8405d819da595b21)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
attribute more prominent
Task-number: PYSIDE-1345
Change-Id: I765e32d367c36add97a08c03df5e0ac30e92e56e
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
(cherry picked from commit c6e294f7adc5d129e2e6a8ac9375ea537d983381)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It was possible to call c++-methods (either invokable or as slot) with
wrong arguments, which caused a crash.
The reason was that CallMethod(...) converted something to a QObject
without checking if it was an actual QObject. The wrongly typed argument
would end up reinterpret_cast'ed into another type for the call, which
leads to segmentation fault when accessing the argument in the function.
Added a test where an int tried to be reinterpret-cast'ed into a QFont.
Fixes: QTBUG-108994
Change-Id: I8c45c9124411ad3fd100faed0b03390843f7d034
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit cda417cf03694256a84b4abe77de0f5f49ebdf32)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It's the [set]sceneGraphBackend() functions that are from 5.8, the new
functions in Qt 6 are since 6.0.
Change-Id: If36f42615d53bd964f05ba42846b9322d8f1a0e4
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
(cherry picked from commit 848f40f30e46322286d75923afd6a33f42dbfe46)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
tst_qquickimageparticle::test_tabled is crashing randomly
whit Ubuntu 22.04
Task-number: QTBUG-107707
Change-Id: I43d00e0d66c867355d0dd52b001ee0c347bc0ce2
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
(cherry picked from commit 29e3458cfddc68e248371fa820a67173c0c7fa7d)
|
| |
| |
| |
| |
| | |
Change-Id: Icb82ba585486d19afbb324e02ecf04658ba9c0fe
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
...for source files that are outside of the source directory.
Having QML files that are generated in the build directory led
to *_qmlcache.cpp files with very long file names, hitting file system
limitations on Windows.
Apply the same fix that was done for generated qmlcache.qrc files in
commit 5d7710a623ecde64316c42fd097db386ac28dd51.
Task-number: QTBUG-108150
Change-Id: Icef9dbf40fc7ade54b584bcdc8799c4cc95ac76d
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit e4feab199220ae022927d8471bd96779ea4bca48)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Fixes: QTBUG-107492
Change-Id: I3f5ad0421bbd0822c76c5e32e42616461cde31c3
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
(cherry picked from commit 39e584f31e60c3b4e7cc7a26d2a09ce36dad8eab)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
| |
| |
| |
| | |
Change-Id: I0231f2f00db9a6f6593a9e33e7eb35501c648b0b
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
| |
| |
| |
| |
| | |
Change-Id: Ia8761ba9c2894e1eb534c479d55e2dfd10ecc2b1
Reviewed-by: Tarja Sundqvist <tarja.sundqvist@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
... by rolling our own.
Qt 5.15 uses a pointer (additional indirection), not aligned_storage,
so isn't affected.
References:
- https://github.com/cplusplus/papers/issues/197
- https://wg21.link/p1413
Manual conflict resolutions:
- adapted to different member names and private/public access in the
6.2 class vis-a-vis the 6.4+ version.
Task-number: QTBUG-99122
Change-Id: Ia116dc11336901a19fc227fb68ac266c1bfbbcb1
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 6e9a9ed121ce101d19e015de03b8f1d37fa84041)
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When scaling with fractional values, aliasing can occur. Use the same
approach as BorderImage and respect the smooth property of
NinePatchImage. This property comes from QQuickImageBase, which sets it
to true by default. We change QQuickNinePatchImage's default value for
it to false, but this can be overridden by setting
QT_QUICK_CONTROLS_IMAGINE_SMOOTH to 1.
As NinePatchImage is not public API, and users would have to set the
smooth property on every image (where some items contain multiple
NinePatchImages), it's better to have one place to set this for all
controls.
[ChangeLog][Controls] The Imagine style now supports smooth scaling for
9-patch images when the QT_QUICK_CONTROLS_IMAGINE_SMOOTH environment
variable is set to 1.
Fixes: QTBUG-107989
Change-Id: I250a041f87c0270d67af191168f7bcfbf6237925
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
(cherry picked from commit 649151bdcc4c2e747224d4405d3b6bb13525161d)
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
By default, border widths are rounded to integer values (in
QSGBasicInternalRectangleNode::updateGeometry()), so one avoids
artifacts where the rendered width can fluctuate with one pixel if the
Rectangle coordinates are fractional. However, that rounding was done
before the device pixel ratio scaling, so if the dpr was fractional,
one would get a fractional rendered border width, and hence
fluctuations.
Fix by taking the dpr into account. The rounding is done in the Item,
where the dpr is known, instead of the SG Node.
Fixes: QTBUG-108831
Change-Id: I9a1d8180c72dd5e1b1eaa9f1c420eb9944f1e5a5
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
(cherry picked from commit 73a3b69f9ae6d49cc04ce9834ab6f3b88d11e35b)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|