| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This helps keep the memory usage down on test machines in case of
failed tests, and may also prevent a failed test from interfering with
the results of subsequent tests.
Change-Id: I4284b068f94ce990e6a0c5a2f12185739dfdf5d7
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Reusing the same engine was causing new tests that I was going to add
to pass unexpectedly.
By using one engine per test, we also make warnings like
QWARN : tst_QQuickLoader::loadedSignal() "There are still \"1\" items
in the process of being created at engine destruction."
show up at the end of the test that caused them, rather than after the
entire testcase has finished, which should make fixing the warnings
easier.
Change-Id: I821d4feb74e7e837177c9463c65936f90b3b20d8
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When building Qt with -fsanitize undefined, the usage of
QQml_setParent_noEvent caused the following error message:
"qqmlglobal_p.h:233:5: runtime error: downcast of address
0x60300061bf10 which does not point to an object of type
'QQmlGraphics_DerivedObject'".
Instead of casting to the referred type, use QObjectPrivate::get to
access the d_ptr.
Change-Id: I2f2224bdb20a8d2e35a3291961378231f03c4ba2
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Just like the one at the bowling alley... no actually the problem was
that it's easy to fling the balls right out of the window, and we
don't have collision detection so we can't make them bounce. Now
they simply come back "home" after a delay.
Change-Id: I297828321fce975b929e449e56799fd9280b682d
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The reason for using SVG is to be able to render it quickly at lower
resolutions but with higher quality after zooming in, and it's good
to have an example which demonstrates how.
Change-Id: I04107b724ef5c844c8b3eaa2f46750bd66d7d718
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
|\ \
| | |
| | |
| | | |
Change-Id: I92858e9bcccc45aff3792eeb24920181fbf12b4d
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
While a recursion check exists and works, it can lead to instanting
the same singleton multiple times (leaking all but one copy).
Change-Id: Icf342aad71c5cb225488262341517d95786e1f84
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
It's not only on 10.10
Task-number: QTBUG-26696
Task-number: QTBUG-36804
Change-Id: I6652cc3c32cc0219e58f7bf6d9584e3041ad34e8
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |\ \
| | | |
| | | |
| | | | |
Change-Id: I68e1137c57cdb4c585dd44b0528744bde7df047a
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The m_v4Function member can now be a nullptr, which means we cannot use
it as ID and we cannot retrieve the source location from it.
Change-Id: Ibb49a3e68cf961f9ffe2a83b2a0b83f7d04e149e
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
It's currently not possible to see which button was tapped, in
JavaScript. 8dc02aab72a714b5195ccc641fbfb534c3ae9e98 broke it.
Task-number: QTBUG-64847
Change-Id: I1020a8fa5732230d579ee7785e51b0e297df71b0
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Otherwise the map example doesn't work when installing into app
packages, because the svg plugin doesn't get included.
Task-number: QTBUG-64851
Change-Id: I6674b8e4175262dfed74144280470c3e6b4c1524
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Change-Id: I598093647da3aba291945819d7c396a247fddf52
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Change-Id: I7f4783b6f9a5237ef6b8ae1a89fedaf9cdadffc5
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This helps with overriding behavior: when a QML control implementation
has handlers encapsulated inside, but the user tries to override
behavior by declaring more handler instances in instances of the
control, the user's handlers must be visited before the encapsulated
handlers. Likewise, this reverse-ordering corresponds to intuition
after having used MouseHandlers: the one which is declared last inside
an Item will have a higher effective Z order, and thus will be visited
first during event delivery.
Task-number: QTBUG-64692
Change-Id: I9bf18218a1887d0297c71ebf81dde0956394b72a
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The background image is a POV-ray rendering which makes it look a bit
more like an actual joystick (but there's still no tilting stem under
the knob).
Change-Id: I9d130d6fcd72715733678a525c69785e5f1a52ea
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: Ib1fe267c23ea9fce9bcc0a91ed61081260338460
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
grabPermissions are OK by default.
Change-Id: I1e9564415a12e4cd7a9213d11e5374d619239099
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Add a simple command line viewer allowing for showing QML in
QQuickWidget.
Change-Id: Ie77e287e3fed928ab4f148e1f250ce59936048ca
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
even if all points are accepted or grabbed. A passive grab isn't much
good if there are cases where the handler is prevented from monitoring.
This enables e.g. the PinchHandler to steal the grab when the right
number of touchpoints are present and have moved past the drag threshold,
and enables completion of a couple of autotests.
Change-Id: I78dc6fc585f80bfb3c13e0c6e757ef815fb94afe
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-64470
Change-Id: I0119b2fc6a4110c21d1cf083516d32302506aae4
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
setGrabberPointerHandler is now implemented more similarly to
setGrabberItem. One improvement is that in
tests/manual/pointer/pinchDragFlingMPTA.qml the MPTA deactivates
when the PinchHandler takes over its touchpoint grabs.
Change-Id: I0bd4f143b5f25f1b393839f86c2a7802f1fa1886
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
|\ \ \
| |/ /
|/| /
| |/
| |
| |
| |
| |
| | |
Conflicts:
src/quick/items/qquickwindow.cpp
src/quick/items/qquickwindow_p.h
tests/auto/quick/quick.pro
Change-Id: Ia12f20e95fb151bbbc75dbf187364a924cd0bc7a
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-64397
Change-Id: I28268ea87b81dd1f7dbf8bb5a8eb421962cc5f31
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The test has not been run in the CI, so the problem went unnoticed for
a long time.
Change-Id: I42a44a5fb89c0bd78e8997d4841e85672c73acdb
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The following auto tests have not been run in the CI at all:
- tst_qquickanimatedsprite
- tst_qquickframebufferobject
- tst_qquickopenglinfo
- tst_qquickspritesequence
- tst_qquickshadereffect
Change-Id: Iacc832563fd2c002eef480fa4d42469d852adc0f
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The expected signal counts were not matching. Since the test has not
been run in the CI, it went unnoticed. Furthermore, the test crashed
due to a missing null pointer check.
Change-Id: Iff80a2ea17832eb7bc531ac9eb2fc482f2c69e38
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- don't use QTRY_VERIFY or QTRY_COMPARE if there's nothing to wait for,
because it will always wait a short time and add needless delay to the test
- QVERIFY(QSignalSpy::wait())'s should perhaps not be done in sequence,
in case the second signal already happened while we were waiting for the first.
QTRY_VERIFY(QSignalSpy::count() > 0) should be more reliable in such a case,
as long as we are sure the count started at zero before the behavior
which was supposed to make the signal be emitted.
- 1000ms is probably not long enough to wait for ListView velocity change
on a slow CI system.
- according to the comment "verify that currentIndexChanged is triggered"
we need another spy for that signal.
Change-Id: I99d93a849b674ce6c81acbe91639f03933025117
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Sticky headers and footers weren't accounted for when calculating new
view position causing the requested item to be left behind them.
Task-number: QTBUG-63974
Change-Id: Id69579643a942e8558960b2c8b0fee980fa86947
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
By passing the enter and leave events to the offscreen window it will
enable mouse areas inside a QQuickWidget to know when the mouse has
actually entered or left the area if it is covering the whole item.
Task-number: QTBUG-45557
Change-Id: I670ebe30e367e919c73fed449bf2bed7ca42b5fd
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I8ede7e36592cd21f3e4a0a9b30dbe26bb40fe69b
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We should not operate on invalid QML contexts and once we have
established a context to be valid we don't have to check the result of
QQmlContextData::get anymore.
Change-Id: I9106115ddf925c3572048f1fd334bdfd9a9cfca7
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-30716
Change-Id: I0c6829ae496850d6a2cdcc349c496dfbf4e8adbb
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
Change-Id: Ic433a832190ff3e89fae696e1eabf0c7dfa57cec
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Index based scrolling does not enable moving and flicking properties.
Task-number: QTBUG-34576
Change-Id: Ief06d37115ca389027670c97ce6c0457a74d4872
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The animation was not being performed if the delayRemove attached
property was changed by the handler of the remove() attached signal.
We need to run the delayed transitions not only if we have an animation
for the target item, but also if we have an animation for the items
being displaced.
(The flag variables can safely be obtained outside of the for loop,
given that their value should not change during the loop iteration)
Task-number: QTBUG-57225
Change-Id: I8c138677d7dcdf63e0932ec5cf7738c0caeb2ab8
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In QQuickItemViewPrivate::applyModelChanges(), if
moveReason = QQuickItemViewPrivate::Other,
then QQuickItemView::trackedPositionChanged() will fail to call
d->setPosition(pos), which is normally what keeps the Flickable
moving for a while. Leave the reason as-is (it will be SetIndex in
this case), so as not to forget that we were actually trying to move
down. Updating the model was just a side-effect of that: either
because some QML code was trying to append to the model or because
fetchMore() was called.
Task-number: QTBUG-61269
Task-number: QTBUG-62864
Change-Id: I3fd402469950d6c12e6a8d6e42be83ea4f54776a
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Sequential call of setWidth() and setHeight() results in outdated height on
widthChanged() signal. Use setSize() to set width and height at once.
Change-Id: I013f5e1fcfc65a8606f9596ddc196b633873dc98
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If all the items currently in the view are being removed,
lastVisibleIndex will be -1. This caused an unwanted repositioning
of all the deleted items, which got moved to a wrong location.
Therefore, when all visible items are removed, we should avoid
recomputing any item's position.
Task-number: QTBUG-57225
Change-Id: I9909748a9cccb5e6a3726306e250921ce69fcba9
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
[ChangeLog][QtQuick][QtTest] Added keySequence() function in TestCase.
Task-number: QTBUG-53381
Change-Id: Iea25410d40fc0745e16a10c1af35ec81c4c83668
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The order matters. There won't be a mouseGrabberItem() after
the cancelExclusiveGrabImpl() call. So ungrab the mouse before
calling it, not after.
Task-number: QTBUG-63680
Change-Id: I81e03e079362c865e13792feb8c3af8cb3abedc8
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I69f37f9304f24709a823fffd14e676c097712329
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If an item that had a TapHandler and a DragHandler was placed inside a
Flickable it would call sendFilteredPointerEvent() for each of the
handlers, even if they were siblings.
This is not ideal, and because of a mechanism in flickable it even caused
the DragHandler to not drag the item as expected.
This is because of a mechanism in Flickable where the value returned is
actually derived from the previous call to filterMouseEvent() (stored in
member variable stealGrab).
Below are the relevant steps it went through when the mouse drag exceeded
the drag threshold (mouse pointer started on the item):
Precondition: QQuickFlickablePrivate::stealMouse == false
1. Mouse Drag (which exceeded drag threshold)
2. sendFilteredPointerEvent(tapHandler->parentItem()) returns false.
(but since it moved beyond threshold, it would set stealGrab-> true).
3. tapHandler->handlePointerEvent() declined and ungrabbed (due to
DragThreshold gesture policy).
4. sendFilteredPointerEvent(dragHandler->parentItem()) returns true
(because the previous call to sendFilteredPointerEvent() set stealGrab
to true).
As a consequence of (4), dragHandler->handlePointerEvent() was not called,
and the flickable would start to flick instead of the item starting to drag.
Change-Id: Ia99eae91cad0903ebbaedaaafcdf92a25705a922
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|\|
| |
| |
| | |
Change-Id: Ie5d0b2d9bece98553262f8af1ce66459f03a73e1
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Otherwise we may get called back when the window's scene graph is ready,
but we don't have a controller anymore then. This leads to a crash.
Change-Id: I8075619e1fd3c69ca0f7d0b1d72952b8cc5040f8
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It's flaky: on the CI machines, the first three windows are shown
stacked on top of each other, and none of them has focus, because
the terminal which is running the tests continues to have focus.
If this happened to a user, he would just click in whichever window
he wants to have focus. (Good thing it's visible, at least.)
So this looks like broken window manager behavior. Ubuntu will switch
to Gnome soon anyway; then maybe the behavior will be different.
Task-number: QTBUG-62604
Change-Id: Id0db8a61e8335e7f591a38e07c488c055b236239
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I64a7b7cb7fa6c5fe53019ed42b19989a0f8a0da2
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/qml/qml/qqmlimport.cpp
src/qml/qml/qqmlimport_p.h
src/qml/qml/qqmltypenamecache.cpp
Done-with: Ulf Hermann<ulf.hermann@qt.io>
Change-Id: I41ba7a592b2659ddf53da6952ea3b456a7bba319
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We take references to types when sending events to the other thread. If
we don't process the events, the references are kept, which leads to
memory leaks. Therefore, when shutting down a QML engine, we have to
make sure the event queues are emptied.
Change-Id: Id8b0440029cfd7d03a9e540747eaedbcaa7c9ff3
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Sequential call of setWidth() and setHeight() results in outdated height on
widthChanged() signal. Use setSize() to set width and height at once.
Change-Id: I86ff5cef2da912a8855c66a614d5d7d2e71f1de8
Reviewed-by: Risto Avila <risto.avila@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|