| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
An Item might set itself invisible or disabled while handling a mouse
press, as an alternative to rejecting the event. In earlier Qt versions
(e.g. 5.6) it did not end up with a grab in such a case.
Task-number: QTBUG-63271
Change-Id: I12f646e4217d773d396f380672420c85e6adcd52
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
So far it was checking parentContains() on press, release, or when
the gesturePolicy is WithinBounds, but not for each movement when the
policy is DragThreshold (the default). This might explain most of the
remaining warning noise: "pointId is missing from current event, but was
neither canceled nor released" because it was possible for TapHandler
to remember wanting a point that it should not have wanted, but without
taking any kind of grab, and then complaining when that point was no
longer present. Since it did not grab, it did not get the release,
unless the release was part of an event containing a point that it
DID grab.
Fixes: QTBUG-71887
Change-Id: I26ce62279574cf6b0150f24e486f224a604ac6b1
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The contents of a deleted QString can still remain in memory
and can be accessible by tools that read the raw process memory.
The same problem appears when the QString reallocates -- the
old buffer gets deleted, but its contents will remain in memory.
This means that a TextInput that serves as a password input field
can leak parts of the password while the user is entering it
(due to reallocation) and the whole password when the TextInput
instance is destroyed.
With this patch, the contents of the m_text string member variable
will be zeroed-out before the TextInput is destructed. This is done
only in the cases when the TextInput serves as a password field.
Also, this patch reserves the space for 30 characters for m_text
when the TextInput is used for password input. This is enough to
make sure no reallocation happens in majority of cases as barely
anyone uses passwords longer than 30 characters.
[ChangeLog][QtQuick][TextInput/security] When the TextInput is
used for password input, preallocate a buffer for the string that stores
the entered value and zero-out the string on TextInput destruction to
avoid leaking sensitive data to process memory
Change-Id: I8f1f307b1cfc25ad51f48bae8509a258042a2e7f
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
|
|
|
|
|
|
|
|
|
| |
You cannot keep the context when reparenting the canvas item. Use a
QPointer prevent dangling.
Task-number: QTBUG-73113
Change-Id: Ie7021c6f0bb0d09923eb358dc7e51d6727e74a7a
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QQuickItemPrivate::data_append() was not invoked when any kind of
Pointer Handler was directly declared in a Flickable (or subclass)
because QQuickFlickable redefines the default property to be its own
flickableData property. So we need to repeat the special handling
in QQuickFlickablePrivate::data_append() too. The handler must
be added to the private->extra->pointerHandlers vector, so that
QQuickItemPrivate::handlePointerEvent() will attempt to deliver
events to those handlers.
TapHandler seems OK (especially with its default gesturePolicy
so that it does not do an exclusive grab).
PointHandler seems OK.
DragHandler competes with Flickable for the exclusive grab.
pressDelay can help; or set acceptedDevices: PointerDevice.Mouse
to allow the mouse to drag but not flick, and the touchscreen
to flick but not drag.
Fixes: QTBUG-71918
Fixes: QTBUG-73035
Change-Id: Icb97ed5230abe0cb6ec0230b5b5759a0528df7e8
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
|\
| |
| |
| | |
refs/staging/5.12
|
| |\
| | |
| | |
| | | |
Change-Id: Ic746fbce93430867e2eda4bc7155d34e20a4aa2b
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Device pixel ratio was included twice.
Task-number: QTBUG-72603
Change-Id: Idd1b75c3b1926a6381bf258c1b705be10c5575b9
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
|
| |/
|/|
| |
| |
| |
| | |
Task-number: PYSIDE-903
Change-Id: I0c4640eb20157673eabb131e8834e79cbbf95d5c
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is an important detail that was left out, causing confusion when
a user tries to set e.g. highlightMoveDuration without setting
highlightMoveVelocity to -1.
Change-Id: Ida4042626fcc20105267a5d2a0babcb91eed1516
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Added <s></s> and <del></del> tag aka strike out to QQuickStyledText.
QQuickStyledText covers the essential text decorations, apart from
strike out. In order to use it, one had to switch to RichText,
which comes with its own overhead and limitations.
<s> for no longer accurate or no longer relevant content
<del> for removed content
Fixes: QTBUG-72376
Change-Id: I3c191d91d57afcc48090facc49d643f8ad708fb4
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
During a 2-finger press (to emulate right click on a trackpad), the
OS may also generate a QWheelEvent with ScrollBegin phase just in case
scrolling starts. This must not prematurely deactivate the TapHandler.
Also if a gesture or wheel event begins as the very first event after
an application starts, ensure that subsequent mouse events are not
mis-delivered as wheel or gesture events.
Fixes: QTBUG-71955
Change-Id: Ic12e116483ab9ad37c4ac3b1d10ccb62e1349e0a
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
QQuickItemPrivate::data_append() was already getting called, but the
assert (that the parent was already an Item) was failing in case a
handler was declared inside a Window or a Dialog.
Fixes: QTBUG-71317
Change-Id: Ia497182e3b4a9722eee97a375f9ee5d4151108e6
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If any kind of Pointer Handler is created dynamically in JS by
calling Component.createObject(), QObject::setParent() is called
rather than passing the parent to the constructor, so
QQuickItemPrivate::data_append() did not take care of adding the
handler to QQuickItemPrivate's extra->pointerHandlers vector.
We need to use the auto-parent mechanism (just as we did with
handling dynamic creation of nested Windows in
8cb02e23abbefc9d020707fc1a2d8b6eb4e103b6). Added
QQuickItemPrivate::addPointerHandler() to put the prepend()
and implied setAcceptedMouseButtons() in one place.
Fixes: QTBUG-71427
Change-Id: I3be3dd033c1c89e6e5b5c3463e1a720bbe963281
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
| |
In order for the enum value to be passed to the QML side then it needs
to be registered so it can be picked up. This fixes the signals using
QQuickEventPoint::GrabTransition, such as PointerHandler's grabChanged.
Change-Id: I387930d50f03fee867b3d869618525d44173b538
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
| |
Don't trigger (potentially seconds long) animation to to fix very small
errors in offset.
Change-Id: Ibdba16e4fb7a1aff7577a29ab594af8aba231d6d
Reviewed-by: Martin Jones <martin.jones@qinetic.com.au>
|
|
|
|
|
|
|
|
| |
Fixes building with gcc 4.8.4
Change-Id: I61810102bba20c21321112c63e7197bbe05ec27d
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
|
|
|
|
|
|
|
|
|
|
| |
The vertical alignment was not calculated correctly in all cases,
this should fix it by retrieving the height and baseline for the
current text line and doing the calculation correctly in all cases.
Change-Id: I5bb650ede46dc03d51bf0f64b77dc4ca77d30fd2
Fixes: QTBUG-59310
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Reviewed-by: Igor Bugaev <freedbrt@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
| |
The update algorithm wasn't working correctly if there were
two disconnected dirty regions in the textNodeMap. This could
happend by e.g. programatically removing text at the beginning
and appending at the end.
Change-Id: I3de2c8efedb03c004c4c304d130360cbdb4485b7
Fixes: QTBUG-68863
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
|
|
| |
If we change the content height or content width to the initial one, we
still need to signal the change.
Fixes: QTBUG-71684
Change-Id: Idf6e3f89423eab3d8f5310c164c5acc5108e0d8b
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
If a QQuickWindow is destroyed without ever being rendered, then there won't be
any QOpenGLContext in QQuickOpenGLShaderEffectMaterial::cleanupMaterialCache.
Same goes for QQuickWidgetRenderControl.
Fixes: QTBUG-65236
Change-Id: I2742505d147bc8444b46688170d33fbb2844f2ac
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
|
|
|
|
| |
Change-Id: Iebd325afcfc0e892f970d450b59e0249d1fcb83f
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, each time a new touchpoint is pressed, we would purposely
forget which touchpoint was acting as the mouse, as part of "starting
over" with event delivery. Conceptually "starting over" ought to mean
as freshly as possible; but in practice, if a user was using one finger
to interact with some mouse-only Item, and then presses a second finger
(whether intentionally or not), (s)he doesn't want the first interaction
to immediately end. The multi-finger DragHandler must be able to take
over the grab from the Item which already had the grab; but it uses
a passive grab in the meantime to track the movement, and normally
takes over the exclusive grab only when its preconditions are met:
the point has to move past the drag threshold. So we can wait until
then to reset the touchMouseId.
The concrete use cases are: double-tapping a map is supposed to zoom
in, even if there is a MouseArea on top. And, while dragging a Slider
inside a Flickable, you should be able to start dragging the Flickable
with a second finger. In the first case the issue was that the
MouseArea could grab while handling the synth-event, thus setting
touchMouseId; then touchMouseId was immediately reset again while
handling the second touchpoint, so the second touchpoint would also be
offered as a synth-mouse event to various items. But while fixing
that, we have to avoid this issue in the Slider-in-Flickable case:
when the first touch press is delivered, Flickable takes the exclusive
grab temporarily; after moving the touchpoint, the Slider's
DragHandler steals the exclusive grab. Then we try to deliver the
second touchpoint press: at this time, we don't want touchMouseId to
be set, because we want to be able to deliver synth-mouse events for
the second point so that Flickable can grab that one. So it must be
that when DragHandler steals the grab, we can reset touchMouseId,
because the only reason it was set was that Flickable had the grab.
This result is achieved by having QQuickItem::touchUngrabEvent()
call a new QQuickWindowPrivate::cancelTouchMouseSynthesis() function.
It was already a good idea to have such a function since we always
reset touchMouseId and touchMouseDevice at the same time.
Also modify the docs to remind users that when subclassing
QQuickItem and overriding mouseUngrabEvent() or touchUngrabEvent()
they should call the base class implementation, to avoid bypassing
this new functionality.
Fixes: QTBUG-70998
Change-Id: I02894971e9047d4fa7ac9d062d6714c9183a8058
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/imports/settings/qqmlsettings.cpp
src/quick/items/qquickwindow.cpp
tools/qmlplugindump/main.cpp
Change-Id: I3e5dae4de25b2da961a572b3a4bd151181d211c9
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If during delivery of a mouse press, user code calls qApp->sendEvent()
with another mouse press, then when delivery of the nested event is
finished, we call QQuickPointerMouseEvent::reset(nullptr). Then when
delivery of the original mouse press resumes, crashes are possible
because most of the code assumes that QQuickPointerEvent::m_event is
not null during delivery.
Change-Id: Id65b1f2f64351e40d03bcd4f4d16693d616729da
Fixes: QTBUG-70898
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QML code that imports any previous QtQuick version (e.g. 2.11) and connects to
any of the four 'at boundary' properties (atXEnd, atXBeginning, atYEnd and
atYBeginning) change notifier (e.g. atXEndChanged) stop working because the new
signals available only with new import, but the older import has no idea that
it could connect to the older notifier (isAtBoundaryChanged).
Remove revision number from the notifiers of the four 'at boundary' properties
to mostly fix backward compatibility until a better solution is available.
Fixes: QTBUG-71243
Change-Id: I9b4c944c62e0c6c83ceed765b7cd99519e9cd109
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The properties used to have a single notifier that name is different from
the properties names. QML Engine always connects a handler to signal, if it
exists and only if there is no such signal then it lookup for a property
notifier. In commit e92f76cf9ea91e87ec2e3e68234899fd9c12142f we introduced
new signals that match the names of the two property changes handlers, but
the signals are not available on older import.
Remove revision number from the notifiers of Text.contentWidth/contentHeight
to fix backward compatibility until a better solution (such as extra engine
logic like "if a signal that matches the handler is not available then check
if there is a way to connect to a property notifier that matches the handler"
Fixes: QTBUG-71247
Change-Id: I11fb6230d85218ef437816c60c8147b953d47241
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
While the view is flicking, if the content is updated by
a model reset, it gets very confused and creates many delegates
that won't be shown inside the visible area.
Now we cancel any active flicking before the model reset is handled.
Fixes: QTBUG-70742
Change-Id: I6f7aa368b760a00d08c540f3963c32e1e174a908
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It's given a list of touchpoint IDs, which normally are from the same
event, so we should not need to find the corresponding device and its
event repeatedly.
Change-Id: I65ce120c50251d23b1300b79b9372e8e54e53741
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Use velocity to prefer snapping in the active direction.
* Calculate snap based on where the item is, rather than where
the section is.
Change-Id: I2531501dbe0a58f26f20bc3e719e435185e047a5
Task-number: QTBUG-67051
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Ensure we rebuild the table when the model emits 'layoutChanged'.
Fixes: QTBUG-71140
Change-Id: I70dac897830bf5a12ae6987920e388743fd358a1
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Makes what the renderer is expected to do more well-defined, and makes
the software and OpenGL backend agree in the rendering of the QML
lancelot tests.
Change-Id: I3991ec06e3b4b5f1713e224bb3b7d57e8f951ab4
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
There is no event being passed to these virtuals, so it's not possible.
Amends 9cb13a422e11b6523aa52cd71cf073c8469c20d6
Change-Id: Id122270c5988bfd06ebd46b154a25b165d7fed13
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When the velocity timeline is driving movement and simultaneously
someone calls positionViewAtIndex(), it gets very confused and goes
on creating and destroying delegates for a very long time. So now we
cancel the flicking animation immediately when calling any of the
positionViewAt* invokables.
Fixes: QTBUG-70941
Change-Id: I85e09344e79356b877a57ab634f72be1d7f93fca
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
With the software renderer QQuickRenderControl::initialize() is never
called, but we still need to cleanup scenegraph nodes on destruction or
invalidation.
Change-Id: I4c17a440d683b1f0512fb8a9370430cf3680d8ee
Task-number: QTBUG-70740
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/3rdparty/masm/yarr/YarrJIT.h
src/quick/items/qquickwindow.cpp
Change-Id: I551404e1558d56c0b0626346ad1c86406bff0ec7
|
| |
| |
| |
| |
| | |
Change-Id: I64a2ab811b48d2a231e18c493fb1f6087fd02905
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Re-apply a fix equivalent to 8bdf33051aa679db1f060314c6ccab1cb9a77a7a
which seemingly never got included in 5.10 or newer branches.
If a ListView with pressDelay contains a MouseArea in a delegate, and
you tap the MouseArea on a touchscreen,
QQuickFlickablePrivate::replayDelayedPress() sends a saved copy of the
original QMouseEvent, and then a synthetic release, without marking it
as synthetic. (QQuickFlickable is not touch-aware in any way: it
thinks the mouse events it receives are real ones.) As a result of
sending the delayed press through, QQuickWindowPrivate::setMouseGrabber()
is called and sets the touchpoint's grabber to the MouseArea, but
does not set the core pointer's eventpoint's grabber.
Flickable then ungrabs for itself, so we have to ensure that the
ungrab affects either the actual mouse or the synth-mouse, whichever
was in use. Then because the synthetic release is not known to come
from a touchscreen, QQuickWindowPrivate::deliverMouseEvent() was
checking the core pointer's grabber and concluding that there is no
grabber. In such a case, it now checks whether touchMouseId is set,
meaning that we are somewhere between sending a synthesized press and
release, gets the touchpoint's grabber (which is MouseArea, because it
didn't reject the press), and sends the release there.
Task-number: QTBUG-61144
Fixes: QTBUG-69059
Change-Id: Ie027bef4c8de16e1cbf5d19e120cb22a3df4c037
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is identical to the existing updateOrAddGeometryChangeListener(),
except that it updates the regular "types" member, not "gTypes".
This function will allow preventing duplicate change listeners, at the
expensive of a call to QVector::indexOf(). It's useful when there is
no other way for calling code to check if a listener will be a
duplicate before adding it.
Task-number: QTBUG-69056
Task-number: QTBUG-70729
Change-Id: Idba039f355023e8d45a8b46e4af95aa81c13c3f4
Reviewed-by: Michael Brasser <michael.brasser@live.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The margin has to be taken into account when calculating the positions
for the dimension we are not scrolling and when calculating the number
of columns available.
Fixes: QTBUG-69863
Change-Id: Id2a53ced263c8926a8bfaf658376be293af3e8c9
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
VisualDataModel, VisualDataGroup, and VisualItemModel
are replaced with DelegateModel, DelegateModelGroup, and ObjectModel
respectively (since 7cad0e52c5a020bd29635e9912fd8946a6b48124), so
shouldn't be mentioned anymore, in preparation for removal.
Task-number: QTBUG-37725
Change-Id: I9a01ec8db748f817efca638383b7a278c7b562cd
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In Qt Quick Controls 2, SpinBox can be a non-editable mobile-like value
"stepper".
Change-Id: If1440170c9d5dc193e01541bcf3c706ab4fc346e
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\|
| |
| |
| |
| |
| |
| | |
Conflicts:
src/quick/items/qquickevents_p_p.h
Change-Id: I8c699aeb46903e2ea80a97a346cb5af460859a98
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This commit fixes an issue where mouse events could be stolen by the
parent of a PathView due to the PathView not correctly setting the
keep-mouse-grab flag in handleMousePressEvent(). This commit ensures
that the flag is correctly set, so that the second flick in a double
flick is handled by the PathView rather than being stolen by the
parent.
Task-number: QTBUG-59620
Change-Id: Iccdfe16e7e80e6d1d31f95c3dba9c8839b20f30f
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The crashes happened because somebody was calling processEvents() from
a mouse/touch event handler that was running for a long time.
If we called processEvents() from the onPressed handler, and we released
the mouse while still not having returned from the onPressed handler, it
meant that we were actually delivering the release event before the
press event was fully delivered...
This should normally not be a problem, but QQuickWindow is reusing the
QQuickPointerEvent object for each incoming QEvent, which meant that
when we were delivering the release event, it would reuse (and overwrite)
the QQuickPointerEvent that the press event handler is still using....
This then caused some assumptions that the code made to be wrong.
This only avoids the crashes, and doesn't really fix the "out-of-order"
delivery and the state inconsistency that this can lead to (e.g. mouse
button states might be still wrong).
But on the other hand, it is not the recommended way of making a
long-running handler not block the application. The proper way is to
create a thread that will run in the background, so that there would be
no need to call processEvents() in the event handler.
Change-Id: I6fa5d4f5748ef30d082a210f03ef382922bd4b29
Task-number: QTBUG-65454
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Qt Quick 1 is dead since Qt 5.0, so it doesn't make much sense
anymore to link to different names there, or highlight behavioral
differences.
Task-number: QTBUG-70780
Change-Id: Iac5e0b226621f127714e722a11208ca1b21d977f
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When flicking, the current implementation would load and unload
edges around the table until the new viewport was covered. The downside
of that strategy is that you if you move the viewport a long
distance in one go, you will need to load and unload edges hidden
outside the viewport until it catches up with the new viewport. It gets
even worse if you flick with a scrollbar, since then you can end up
flicking thousands of rows in one go. And this will keep tableview
busy loading and unloading edges for a "long" time.
This patch will fix this issue by checking how much the viewport
changes during a flick, and select a strategy based on that. So if the
viewport moves more than a page (which is the size of the viewport), it
will schedule a rebuild of the table from the viewports new location,
rather than trying to load and unload edges until it catches up.
Fixes: QTBUG-70704
Change-Id: I88909e118ec0759a7b7a305c19ccc6670af6263b
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This should make debugging easier (qDebug() << value will print
the name rather than the number).
This patch does not address remaining enums in private classes,
namespaces and non-QObject classes.
Change-Id: I1d28e5b15de5a4f267e280ff1823bc5982ac29ca
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-70374
Change-Id: Ic382bef1f6155ecd4d4b0a5a4e7b28b3dcb257ff
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Moving the viewport in the middle of a layout operation is a bad idea as
it causes the visible items to change.
Task-number: QTBUG-49224
Change-Id: I45a214560e00b65ed53b9385e7a539bb4304b7d9
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|