| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
This ensures that the QOpenGLContext has the right screen information
and can create a compatible context for use with QQuickWidget.
Change-Id: I9d78ff2b616e5c1d1c11d1da438ce336a0f24953
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
|
|
|
|
|
|
|
| |
For example qDebug() << event->asMouseEvent() could crash if the
event is not a mouse event.
Change-Id: I34ffadeb9fc23f42d1d6939190c43a6486eea533
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
|
|
|
|
|
| |
Change-Id: Ibfc31704442f9a911f37cdda3baa48e2ccb34c42
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
| |
Change-Id: I7345dd5dc9684c19e075d4d81c6a4df7421cae27
|
|\
| |
| |
| | |
Change-Id: Ib1a7bdda1cde721efb356b2d043b26e2db7386ae
|
| |
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-77923
Change-Id: I487c58d1e50de15c00539c7610ab570f11df6027
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- a section should not have the name of a QML type
- caused links to ObjectModel to refer to the wrong page
Task-number: QTBUG-79061
Change-Id: I92bbd00e02252d3eca2ad50deca7d573f53f549a
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
emits QQuickWindow::afterAnimating prior to synching changes
Task-number: QTBUG-79084
Change-Id: Ie79d3b8ec912c2e662b2c0745dda442d47d184bd
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We used to ceil x and y offsets on default (AlignHCenter) PreserveAspectFit
image. Consider the follow code:
width = 256;
pixWidth = 255.99;
xOffset = ceil((width - pixWidth) / 2);
It means that we use 1px offset to center an image that is 0.01px tighter
than its view. This actually leads to painting outside of the bounding rect.
Use simple integer division to calculate x and y offsets.
Task-number: QTBUG-79011
Change-Id: I76f2fe3361b820c48202f8f872e2ddb58a65016e
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QTBUG-78926 is about failing to emit the movingChanged signal. The
test verifies that e2df4233a77ce8a37d2c8ef26b7b42fc0d33a24b fixed it.
While we're at it, might as well verify a few more signals in this test
scenario where we flick the PathView at various speeds and then stop
the flick by clicking.
Fixes: QTBUG-78926
Change-Id: I1253dfcd88a63abdbdd280dd9097b484a93cc491
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
A side effect of 8fd398c9d2f5f54e446e0b402bc63a2edb50da6f is that it
became possible for the highlight to stop between items, rather than
snapping to a specific item, if the user taps, clicks or drags an
additional time while the movement is ongoing. That was because it
didn't get a mouse grab, so it missed the release event.
QQuickPathViewPrivate::handleMouseReleaseEvent() needs to take care of
the snapping behavior after the user stops dragging. This only affects
behavior in the case that the PathView is already moving and the mouse
is pressed again: we assume the user wants to alter the PathView's
velocity, not interact with any delegate inside or with any parent item.
Task-number: QTBUG-77173
Task-number: QTBUG-59620
Change-Id: I7b2f69a6ef8d8022d7c917a5bf9e8fb40c8848db
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
(cherry picked from commit e2df4233a77ce8a37d2c8ef26b7b42fc0d33a24b)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The ES Date spec goes into minute detail about doing various
algorithms in the dumbest possible way (like InLeapYear() calling
DaysInYear(), rather than the other way round) but, in MakeDay(),
leaves the implementation to solve the problem of finding the start of
the first day of a specified month in a given year. So exercise the
freedom we have in that to be a little more robust; and actually check
we have met the conditions the spec requires, returning NaN (as
specified) if not.
Added tests for some denormal dates and date-times and for a date
mentioned in QTBUG-78996.
Task-number: QTBUG-78996
Change-Id: I8d9a841dd1f1d9995273a3de8f6f9130207c7c2b
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QQuickListViewPrivate::fixup() seems to only do "fixup" if
moveReason != QQuickListViewPrivate::SetIndex
By default, moveReason is set to Other. In the snippet given in
QTBUG-77418, this is why the highlight was respected when resizing the
ListView initially. However, after the currentIndex was changed,
moveReason was changed to SetIndex. When we then resized the ListView, it
still had the value SetIndex, and would fail to "fixup" properly.
Since the ListView preferredHighlightBegin is bound to width, we should
set moveReason to Other in the property setters that are related to
highlight. This is then consistent with how setCurrentIndex() does it (it
similarly sets d->moveReason = QQuickItemViewPrivate::SetIndex;)
Change-Id: I7edf77fc977e8c7e3fc656ff5bb22b4dd01afbe4
Task-number: QTBUG-77418
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-66194
Change-Id: Ifd81db18a344557f610e45d7c2d4208f014e94b9
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When a QSGSpriteNode is initialized with a texture, it is supposed to
take ownership of the texture and delete it when the node gets
deleted. In the default backend, this happens automatically: The
texture gets assigned to the node's QSGMaterial object, and the node
has set the OwnsMaterial flag, and so the inherited QSGGeometry
destructor takes care of deleting the material, which deletes the
texture.
However, the Software and OpenVG backends do not have material
objects, so the above mechanism does not apply, and so the texture
objects are leaked. Fix by deleting the texture object directly from
the SoftwareSpriteNode and OpenVGSpriteNode destructors.
Fixes: QTBUG-77019
Change-Id: I503d704f66593ba6a36c969db80f74f715382b6b
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
By default, touch events are compressed and then delivered on window
update. However, the OpenVG render loop, unlike the other backends,
did not flush the queued events during rendering.
Fixes: QTBUG-76526
Change-Id: Ifbcc90aa7d1942ba2104fa81eb46fdb79b593bb9
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
These QQuickWindow signals were not emitted when using the OpenVG
backed. The reason was that the OpenVG scenegraph context, unlike
other backend contexts, did not signal when it was initialized and
invalidated.
Fixes: QTBUG-76806
Change-Id: I2299b253464b71d4ca9c54c85359c6bcb0718d43
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Perspective transforms need special handling in OpenVG. However, that
was only done for rounded rectangles. Enable it for zero-radius
rectangles too.
Fixes: QTBUG-76589
Change-Id: Ibe2e0344dfde45f70f8f443fcd22d33e89eae286
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
|/
|
|
|
|
| |
Task-number: QTBUG-78566
Change-Id: Ic76b6212f4ccc3ce8b9199166223e92c203272a5
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
|
|
|
|
|
|
|
|
|
| |
- erroneous link to Controls1
- put qtquickcontrols before qtquickcontrols1 in depends statement
Task-number: QTBUG-78799
Change-Id: I8107d9f23660e37c742a588b0efc38ac336babeb
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-78803
Change-Id: Ideff1b3974dcb9ef833e5847e5a2df344105f241
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
|
|
|
|
|
| |
Fixes: QTBUG-78784
Change-Id: Idc156088fdae4782b4970c3211b8248f8c333e9a
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
If an exception is thrown inside a promise's resolve or reject
handler, the promise needs to resolve into a rejected state with the
exceptions value. The value was previously not set.
Fixes: QTBUG-78554
Change-Id: Ic22faa6ef1e519e4cae6732c69bb14f7053d13da
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Having neither a list of all possible modifiers nor a link to
Qt::KeyboardModifier was inconvenient. Clarify that bitwise OR
results in logical-AND behavior, while having multiple handlers
results in logical-OR behavior, and that a switch statement in JS
allows you do anything you like with modifiers. Fix the manual test
to test the switch statement and deal with the fact that
point.event.modifiers is undefined: TapHandler can use
eventPoint.modifiers, but any DeviceHandler can use point.modifiers.
Fixes: QTBUG-78234
Change-Id: Iba2a03950aa1279ef454cc76fc8de1b2dab14dfb
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the filters list is the same as before, then there is no reason to
trigger an update on the thread as the result would be the same as
before. This solves a problem that was occurring with iOS 13 as it would
get stuck due to repeated calls to setNameFilters() with the same
filter list.
Fixes: QTBUG-78468
Change-Id: I705cfaaa0a1a19b1d0397140a5831fc67557a4ee
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-78307
Change-Id: I71bc58ba5e4d930167f56a264e20b352244502a3
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
The grabbing process transports the image data to the main process
over the stdout stream. Windows by default applies LF->CRLF conversion
on that stream. Avoid by setting the binary mode flag on it.
Change-Id: Ieec0911e24e21c111caeb35e35259833e1fdd639
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Use the QFINDTESTDATA mechanism to locate the test suite directory,
and add the data directory and qmlscenegrabber to the installs.
As a driveby, improve runtime by cutting down on needlessly long
waiting time between test scenes.
Change-Id: Id8452c843eef198d8548b196b0a2b5f0bc6be8ba
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
|
|
|
|
|
|
|
| |
Ensures that items created in a function are destroyed upon failures
in that function, and results in less code.
Change-Id: I62b3b7c3a19dbb2128c5c45bdc7adf4fe80df70d
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
|
|
|
|
| |
Change-Id: I9f2ccd3d4e6933d68b03d82c2c319aa2e8951e78
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
|\ |
|
|/|
| |
| |
| | |
Change-Id: I6472cd72b27c69257efe54376e428274ebf68050
|
| |\ |
|
| |/|
| | |
| | |
| | | |
Change-Id: I6f456baf6bade7cdc66529c2b28d914c47929941
|
| | |
| | |
| | |
| | |
| | |
| | | |
Change-Id: I147d3faefac8114e08a0594a0c43b3cdae959804
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We need to keep the accumulator alive across function calls. This
requires:
1, Saving the accumulator on the stack if the function might allocate, to
protect it from the garbage collector. However, we don't need to do
that if the result of the function is to be saved in the accumulator
and the function itself doesn't use the accumulator as argument. In
this case the previous value becomes unaccessible and we might as
well GC it.
2, In the JIT, restoring the accumulator from the stack after the
function call if we want to ignore the return value.
3, Therefore, also saving the accumulator on the stack before calling in
case of 2.
We assume that we don't need to keep the accumulator alive across the
jump to the exception handler. Saving the accumulator more often than
necessary is detrimental for performance. To make sure the assumption
holds, explicitly load the accumulator with undefined _before_ jumping
to any exception handler.
Change-Id: I78cbc42847b8885a0659b23f3b81655b7f1a0bc4
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Change-Id: I243d12b75a07ac04560b444c326bff77d0dc642c
Fixes: QTBUG-74087
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
(cherry picked from commit 426f3035a3753800ce340a83bdf8db13922f4cae)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If the alpha value for the background color of a text element is 0,
we don't need to create a rectangle node to represent it, as the
rectangle will be invisible anyway.
[ChangeLog][QtQuick][QQuickTextNodeEngine] don't create a new
rectangle node as the background of text, when the alpha of it is
0
Fixes: QTBUG-76137
Change-Id: I40c624ee8f61740fd07e7d3751a78b6224882913
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-78153
Change-Id: Ifdca53d4eed452067ba7f75ae0b3e74cf2027895
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-78162
Change-Id: I8b4f536583afba889a9225d257900031c21ba9e0
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Otherwise QString::number() will apparently extend "negative" values to 64bits
even if the actual type is only 32bits long.
Change-Id: Ibdecff2fe707616d2254b7e34e08247f0ff52489
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
|\ \ \ |
|
|/| | |
| | | |
| | | |
| | | | |
Change-Id: I6f7088bc8d6f49003f1f3b7922d0d7ffb92f435d
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Change-Id: I1edcf6d4b755ae433498e4db9791dad487f4f5c1
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The old hacky way of the test running a "hostinfo.sh" script is about
to be removed, see
https://codereview.qt-project.org/c/qt/qtbase/+/272694
Insted add the value of QT_QUICK_BACKEND (the only
not-automatically-gathered important piece of host information)
programmatically. As a driveby, update it from the obsolete name
"QMLSCENE_DEVICE".
Change-Id: If95a4ccc89ec1c32bf03743071261dfa1b8f5b4d
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
It should use the events own timestamps instead of a QTimer. It should
give a more accurate measurement of tripleclicks, in addition to that
qtestlib synthesized events (with timestamps) are respected.
Task-number: QTBUG-77389
Change-Id: I4f553ec17b53a00b55519bb8082f1373aa9d130d
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
After recent changes to QDoc, it now correctly warns about missing
documentation for QML method parameters - fix all of these and also
do some minor language editing.
Remove duplicated entries for
- \qmlmodule Qt.labs.qmlmodels
- \group qtjavascript
as they were causing issues.
Change-Id: I55cd670cc8a0cc6427cdb7945dbd7c28ea94f796
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The current logic was based on the idea that if both rowHeight-, and
columnWidthProveders were set, we didn't have to relayout the items
at the end of a rebuild. Because in that case, the row and column sizes
would already be correct after the initial load.
This assumption turns out to be false, because the providers are
allowed to return -1 to signal that the size of a row or column should
use default values (meaning, calculated by TableView). And for those
cases, we need to do a relayout at the end of a rebuild.
Fixes: QTBUG-77074
Change-Id: I0e0f2fdca1cfa9e98f2a0a2b227c3715c16a70f9
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
QTestLib assumes that the double click interval is below 500ms. Therefore
it adds a 500ms delay after all synthesized single- and doubleclick
releases to prevent unintentional synthesizing of double click events.
This has two unfortunate side-effects:
1. If the double click interval is smaller than 500 ms, it is not possible
to synthesize a triple click. (Triple clicks are used for selecting
paragraphs in text). This is why the workaround in the block (if clicks
==2) was needed.
2. If the double click interval is bigger than 500ms we might still
accidentally trigger a double click event with two successive single click
events, so it doesn't even work reliably for that case (!). Therefore, the
hardcoded 500ms in QTestLib should probably be revisited.
Anyway, to fix this test we therefore have to cancel the 500ms delta
QTestLib adds in order to properly synthesize the triple click by
adjusting the internal QTest::lastMouseTimestamp.
Task-number: QTBUG-77389
Change-Id: Ic738f51b294270ddf99b6d91d256f6ec4b34d039
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|\ \ \ \ |
|