| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
It looks much nicer than just jerking back into position.
We still don't have "resistance" to dragging past the bounds, though.
Change-Id: I60f6f58fe87638fd17144ea6640bae673a3b633d
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
| |
Change-Id: I1e0539fe24e19ca15641fa4007488b33c24ab8ba
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
|
|
|
|
|
| |
Change-Id: If3d9e10bb54fc75a7e72bc6367de3e083611a45f
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It's now standard practice in autotests to use QScopedPointer to
manage the window so that it doesn't need to be deleted (or would be
left dangling if the test fails).
It's nice to be able to see the bounds of the EventItem.
Test not only the order of the event types received, but
the EventPoint state, and where they were received.
Of course PointerEvents go only to PointerHandlers in this test so
far... but now we can distinguish filtered events from events which
were received via the QQuickItem virtual function overrides.
Change-Id: I4830a431bedb7101c8c980ab3260d23b5852b645
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
| |
It's nice to be able to do
qDebug() << eventItem->eventList
when troubleshooting behavior in case of test failure.
Change-Id: I2b50d5b092a0c9eb4eab3105be66a36aedf871bb
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
| |
This is a partial revert of 1457df74f4c1d770e1e820de8cd082be1bd2489e
to avoid making a mandatory API change so soon.
Change-Id: I05040579fa36d3dc5ef7616861f6d17adf500d2c
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|\
| |
| |
| | |
Change-Id: Ia06843de255547174efa556b1ab76be4b4be4287
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-57396
Change-Id: I31912677ebfdcea9ba97fe0bb66d56bb82b4c90c
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
That poor Q looked so lonely.
Change-Id: I29a0aa0574fefa5be8ffaa9857e03500c914c830
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
[ChangeLog][QtQml] Support C++11 scoped enums in QML. These can now be
accessed as <TypeName>.<EnumName>.<EnumValue>
Change-Id: I29bd3f16e980f3e6f1b2390b5a8e9e8e999952a3
Task-number: QTBUG-54961
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |\
| | |
| | |
| | | |
Change-Id: I71275a2076c3d32ee2896571be882067320a2e9e
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When the new shared memory image provider was added, some of the
issues identified during review were postponed to be fixed during
stabilization phase. This commit deals with
- Replace the kludge for registering plugin version
- Add autotest
- Place plugin in labs
- Use QT_CONFIG instead of QT_NO_xxx
- Use the new extended image provider api, in order to use the
scaled-size calculation from Quick
Change-Id: I75c01c7565650fcf859411dde9520ee65b2b0c64
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
It has been repeatedly failing for a long time.
Change-Id: I2155cc7d821e4d1ea486eeb85445348fac6cafc9
Task-number: QTBUG-41895
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| | |\ |
|
| | | |\
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Conflicts:
src/qtqmlglobal.h
src/qtqmlglobal_p.h
src/jsruntime/qv4global_p.h
src/qml/compiler/compiler.pri
src/qml/compiler/qv4ssa.cpp
src/qmldevtools/qtqmldevtoolsglobal_p.h
tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp
Change-Id: I55c5d015b2cb1053b83b9c61caaf004fb49ee486
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Loops consisting of just a single basic block (e.g. a do-while loop with
no nested loops or if statements) have a back-edge to themselves. There
were 2 problems:
- loop detection would create LoopInfo for any loop header referred to
by blocks inside the loop (and a 1 block loop doesn't have body
blocks), nor would it mark the loop header as such
- when splitting critical edges, the newly inserted block would not be
marked as part of the loop
This is a problem specifically for 1 block loops: the block ends with
a CJUMP, so the back-edge is a critical edge. So the new block inserted
by edge splitting wouldn't be marked as belonging to the loop.
The end result was that the life-time intervals for temporaries that
are defined before the loop, but that are used inside the loop, and not
after the loop, would have their life-time ended before the loop ends
(instead of spanning the whole loop, *including* the back-edge). This
in turns could lead to the stack/register allocator re-using the storage
for that temporary, resulting in strange things happening.
Task-number: QTBUG-59012
Change-Id: Ic946c73913711272efea2151cb85350412ca2fde
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
When a root object was deleted before QQmlApplicationEngine the
invalid pointers stayed in the list of root objects leading to crashes
when destructing QQmlApplicationEngine. Root objects are watched for
destruction and removed from the list.
Change-Id: I1babab54dbb7d7b16ed883ada5b3e420ca8690cb
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |/ /
| | | |
| | | |
| | | |
| | | | |
Change-Id: I7b31408b066054bde72402eb4602debbfdad7c1d
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
If the test fails for some reason, ensure that they are cleaned up
properly by using TestCase's item creation instead of doing it directly.
Change-Id: I639bd246662260f31d5a32d140ee98ad11884446
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
I accidentally attributed this to the wrong BLACKLIST in
186cbe30939947e3a2d33b250fc861cbee361dfe, which meant that it was
running incorrectly.
Change-Id: I64b9d322829736da0a05b03ccacb4e08fff863df
Task-number: QTBUG-60343
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |\| |
| | | |
| | | |
| | | | |
Change-Id: I95266fdaf5c6dc65969bd2e28403da7969367d32
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Related to QTBUG-59977, where crashes were seen on some platforms.
Try to prevent this from creeping out and inconveniencing other modules again.
Task-number: QTBUG-59977
Change-Id: I89730c7882e4d87e6049f087724988a7aa52d5a5
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Task-number: QTBUG-60133
Change-Id: I5497dc3c4a1c3922e7147d7a20593c75a0d9d0e9
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |\| |
| | | |
| | | |
| | | | |
Change-Id: Ibed6ee74d36b4ce37391c82db00a0abd30d09e7a
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
If an external QObject is exposed to an engine through a QObjectWrapper,
make sure to deref and clear the propertyCache reference in the object's
declarative data when the QObjectWrapper is destroyed. This makes sure
that there is no dangling propertyCache pointer when the object is
subsequently exposed to another engine.
Task-number: QTBUG-57633
Change-Id: I37f6793d8be65b23b4e81bb4ed91db18271261b0
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Running everything in one big process has high risks of problems caused
by globally mutable state. It also makes running small subsets of the
tests more painful than it needs to be.
Make use of the new QML-only test support in qtbase to have one project
per subdirectory instead. This means no more C++ "stub" binary (just run
make check or qmltestrunner in the directory).
This relies on qtbase/727da2965caa8bccf8bbfbdd571ed05b35251f82.
Change-Id: I0da70dba19aa54e456cd183b4b6b245ee20b1f3a
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Change-Id: I156d27b21159f019a969a33e553e63fac9a3d193
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Flickable can steal the grab from a PointerHandler the same way it can
steal from an Item: by filtering the children's events. But within
the drag threshold, or if the DragHandler is dragging, the handlers
behave normally.
Change-Id: If1bc1f2e8d9aaebb590f3434a3018a9f1a1f1dac
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The most obvious way to implement a Slider is to allow dragging the
knob - as on a real-world physical sliding potentiometer. But to make
it easier on a touchscreen, it should be possible to touch anywhere
along the slider's travel, as on a QtQuick.Controls 2 Slider. For
that purpose, we need to respond to events within the bounds of one
Item while actually dragging a different Item (the knob). It's
similar to the way that PinchHandler can handle pinch gestures within
one Item while transforming another (which may be too small to get
both fingers inside).
Change-Id: Iac9a5f11a7a45e22d93fe52bf62d157c48d72d3d
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
An Item (such as MPTA with onGestureStarted: gesture.grab()) may set
these flags, traditionally to prevent Flickable from stealing the grab.
QQuickMultiPointerHandler (and thus PinchHandler) now respects these
flags too.
Change-Id: Iac3ab796c5aa410be45639d679ecf82b7c44a442
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This is a prototype of what 3-finger pinch is intended for:
manipulating a container exclusively with a 3-finger gesture while
not interfering at all with other gestures that occur inside the
container. And it's normal that existing Items (like MPTA) do
implicit grabs of touchpoints just by accepting, so this is also
a test of cooperation between PointerHandlers and legacy Areas.
It also adds the ability to drag the MPTA only while the Meta
key is held down. And there is momentum on release whether you
are doing a 3-finger pinch or via the DragHandler.
Change-Id: Icd0e84809ec32dc8f347dd9c8f875d10f52eba19
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Sometimes you want to require holding down a key in order to enable
some interaction. As with the other "accepted" flags, it's better to
do this with a property than with Javascript.
Change-Id: Ie29880f5f9f496ddca1bee462e2c0e6dd30fa9f5
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
It's hitting slightly less than the expected amount of time in CI.
Change-Id: I51ab1ee385045dd948f52e0c27e72ce627952fd6
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Change-Id: Idc516220365b3051e072506ede3f3159b0b736b2
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Change-Id: Icd5b9dc5fa00c98cc40b03e9d72f6b28fc51a579
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Change-Id: I34cc9146155bded8311c1173e4b8d34d8b17b034
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
It has been suboptimal to speculatively deliver touch events to Items
which are not interested; even worse is when we must deliver to a
parent item which is filtering events, when the child Item will not
accept the touch event anyway.
So now it is required that any QQuickItem subclass which wishes to
accept touch events must call setAcceptTouchEvents(true) (typically
in its constructor). If it does not do this, it will not get any
touch events (and this saves us the trouble of looking for parents
which filter touch events, too). It is consistent with needing to
call setAcceptHoverEvents() to get hover events, and
setAcceptedMouseButtons() to get mouse events.
[ChangeLog][QtQuick][QQuickItem] When subclassing QQuickItem, it is
now required to call setAcceptTouchEvents(true) if you need the item
to receive touch events.
Change-Id: Idc76c04f4e7f1d4a613087e756e96dac368f4f23
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
It has failed on Windows too.
Change-Id: I539ffacaedcc62339e2017e2272297c9bc3846cf
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|\| | |
| | | |
| | | |
| | | | |
Change-Id: Ie2894830470a69827d4ace3d8af9bee971e3fbd4
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
While we're here, clean up the output too. Only print it if the test fails.
Change-Id: I69973e1e6b5125378649081f7ab361e6d31005b4
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |\| |
| | | |
| | | |
| | | | |
Change-Id: I95914046889022e0ef9bdc17338dc5895c5223fe
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Task-number: QTBUG-60052
Change-Id: I9f415fa2c2a984dd347983c67d1255efb858cb0d
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
[ChangeLog][QtQuick][Flickable] Added a boundsMovement property that
allows disabling the default bounce effect and implementing custom
edge effects.
Task-number: QTBUG-38515
Change-Id: Id00d30a863e264cdbac00fbad8189406f29484c4
Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |\| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
src/qml/jit/qv4assembler.cpp
src/qml/jit/qv4assembler_p.h
src/qml/jit/qv4isel_masm.cpp
src/qml/jsruntime/qv4vme_moth.cpp
Change-Id: I865d794e550a263387a39ca8d051ebf48b70cbc0
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This gives us test coverage for the most important cross-compiling
scenario of x86-64 host to armv7 target.
Change-Id: I31abd3802681b14561e1ee4c60f6cc9cc2049bf2
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Similar to the Qt Quick Compiler we need to do the expression
simplification pass at cache generation time to extract translation
calls in list elements.
Change-Id: I267fc9647ab82bc83d6b087c06c0036df38238ff
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The target ABI is something that we must include correctly at cache
generation time. The corresponding qmake variable is available in qtbase
now, so we can use that and embed it in the generated data.
Change-Id: Icd6e44824f5151535ce9ddac27687b7877288725
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Task-number: QTBUG-59960
Change-Id: Ibbcde3aa64e517a7bc0c0073efc84ff66a3fae4c
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This test writes a simple QML file with embedded JS code into a
temporary directory, calls qmlcachegen to generate the cache file,
removes the original source code and tries to load the component.
Change-Id: I63e1b0c76a987f4a21b3dc6cb7c4dc828dd5d11f
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
A guarded pointer wasn't checked before being de-referenced, that lead
to a crash if an emitter was modified after an affector was deleted, but
before updateCurrentTime() was called.
Change-Id: I6cb605a711319fb77c1e2e87fa9f35427cd7797b
Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
|