| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
| |
Change-Id: I5e3a3ebd36d49fdf649eec5a3fb0a8fdb048ce0d
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Make the text less ambiguous.
Reformat comments in code examples, as they mess up
formatting in rendered content.
Task-number: QTBUG-56028
Change-Id: I296839e4e102d25d1a943a5766f37ba5521bdb81
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The TabBar auto tests in Qt Quick Controls 2 repeats the following
process very quickly for several data rows:
1. Creates a TabBar (PathView, when using the Universal style)
2. Moves items in its QQmlObjectModel
3. Deletes the TabBar
When run with ASAN, this test would fail, because the TabButtons
(which are child items of the PathView) would try to access a deleted
QQuickItemChangeListener upon their destruction.
The underlying issue is that QQuickPathView::modelUpdated() is called,
and before a refill() can happen, the view is deleted.
QQuickPathView::refill() was the only execution path that was releasing
the cached items (QQuickPathViewPrivate::itemCache), and since part of
releasing an item involves removing the QQuickPathView as a change
listener from the item, the item would access the deleted view
(listener) when the item was being destroyed.
This patch fixes the issue by also releasing cached items in
QQuickPathViewPrivate::clear(), which is always called by the
destructor.
Task-number: QTBUG-68964
Change-Id: Ic5bf0943be79948c86bf7c07ef13ecd1a7b971ba
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
|
|
|
|
|
|
|
| |
A follow-up of 9d078c8f147ea875e862360b0d7480201fbbcff7 in qtqa repo.
Change-Id: I4b6c2923827ba8929a8f9b0919e5017122ca95fc
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
|
|
|
|
|
| |
Change-Id: Iff45ea6cf414717fd1cb0a194eef390a9f153838
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
| |
Change-Id: I17671563f2beebe16ae1d08552854eaf44ae43ee
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
|
|
|
| |
So far the protocol would fail if the endpoints have different
endianness.
Task-number: QTBUG-68721
Change-Id: Ib53894b1e2f3eecf40160bb7bb9cfaa4beb2c045
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-68940
Change-Id: I439ec9b6253815f41e405a0d9f79ff69eb75c98e
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Change 91ac4a8d099d10fdfd5aa631da02727b7917d85f removed the source
location from QQmlBindingFunction, because it can be retrieved from the
QV4::Function in the QV4::CppStackFrame. However, if a binding is
initialized as part of an asynchronous load from a Loader component,
there might not be a valid function pointer in that frame. In this
specific case, we fall back to the source location of the binding
function.
Task-number: QTBUG-68738
Change-Id: I2d3f17e4cb82be1e70a54cb66f9cf9c17f541f95
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
| |
Change-Id: I3c54c90bfa48d2f6ba78b898413133e49b66c208
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
| |
qsgtexturefilehandler_p.h is included through other headers that depend
on QT_CONFIG(opengl).
Change-Id: Ic87482289332cb1a0215ca74362207f9941239d7
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
|
|
|
|
|
|
|
| |
Fixes: 8735ff6499f4ef93675a9e8158af77461f6e93bc
Change-Id: If8a3a394e52027fe99acc98ea8f4b7847db81497
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Kevin Funk <kevin.funk@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
| |
The change was too aggressive in trying to avoid marking
the array data. We didn't catch all cases where on could be
inserting a GC controlled object into the array data. Let's
be safe and always mark the content of array data objects.
Task-number: QTBUG-68894
Change-Id: Ifbb628be898c0903596b1a483212384295b01df5
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
|
|
|
|
|
|
|
|
|
| |
This fixes the "extra ';'" warnings when compiling generated code with
-Werror=pedantic.
Task-number: QTBUG-68809
Change-Id: Ie26cdc4e06bc26587766dd72b258624773a7f990
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of replacing every character that is not allowed in C++
identifiers with an underscore (which in turn could lead to
collissions), replace it with the hexadecimal value of the offending
character's unicode value.
In addition we must use the complete suffix when mapping Foo.qml to
Foo_qml.cpp.
Task-number: QTBUG-68608
Started-by: Erik Verbruggen <erik.verbruggen@qt.io>
Change-Id: I7e2153f0e6671b37dcaee4efb9aaae1d9b230f0c
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The test creates a QQuickWindow, calls show() on it and then waits with
qWaitForWindowExposed() to return true. The expectation of the test is
that when that call returns, an expose event was also successfully
delivered to the window and the scene graph's render loop has attempted
rendering the window contents - using *RenderLoop*::renderWindow(),
which would - in the case of the gui thread loop - create the GL
context. This expectation is expressed using a QVERIFY on a signal spy
that observes the emission of the GL context created signal of
QQuickWindow.
There is no guarantee that by the time qWaitForWindowExposed returned
true, an expose event was delivered to the window. Therefore let's use
QTRY_VERIFY.
Change-Id: I604cbf40dfb7980448f406e26b77678a65faf359
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
|
|
|
|
|
|
|
|
| |
This used to work with QQC before 5.11 and somehow was lost in
translation.
Change-Id: Id3d38c609e228d0f7676d3fb177b271eb46f6f73
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
|
|\
| |
| |
| | |
refs/staging/5.11
|
| |\
| | |
| | |
| | | |
Change-Id: If058b169d39776b423b85ad975c56b46f49fdb6c
|
| | |
| | |
| | |
| | |
| | |
| | | |
Change-Id: I9a46ff6580e63c621835a4100e6fd19b5367492c
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-68933
Change-Id: Ibb5aa227e82825085e7214e17dcffcb17fd44157
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In addition to d868bb4f3e4b0424fd4a2989ff1c82692b0f014c this
removes the check for scrollingPhase in movementEnding.
If movementEnding is invoked by some codepath other than timerEvent
(e.g. setContentY) and scrollingPhase is true this will again prevent
any further invocation of movementStarting from within the drag method
(see d868bb4).
As this check was introduced together with the movementEnding timer
(QTBUG-63026) and scrollingPhase is now checked inside the timerEvent
there should be no need for the check in movementEnding.
Task-number: QTBUG-67460
Change-Id: I88ad6e3ee56b88a66bb61798b8876324f4842f1e
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If we don't get the expected message in 15s, output a warning and try
again. This will eventually be terminated by the overall test watchdog,
but experiments show that starting processes on the CI can take minutes,
so it's not worth it to have a separate timeout here. We still output
the warning, so that we see in the log when this happens.
Task-number: QTBUG-68741
Change-Id: I1ca9d0726753d566d8d89dd682d7d503fcd3a337
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Just passing the variable name to if() will make CMake evaluate it exactly
once, without the need for any specific tricks. The x${var} tricks may be
necessary for macro() arguments, which are not variables, but here an ordinary
variable in a function is tested.
Change-Id: Ibf8fc3efd43a6d8ea729eaaaf14ddeaa15804924
Reviewed-by: Kevin Funk <kevin.funk@kdab.com>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|/
|
|
|
|
| |
Change-Id: Ic3fc1a59703c11aab17529d4b0e92789e4650ca7
Reviewed-by: Kevin Funk <kevin.funk@kdab.com>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The packet protocol should check if the number of bytes to be read is
positive. Also, a Q_ASSERT on the return value of read() is too brutal.
The device can have failed for any number of reasons and we don't want
to crash the application because of that. Finally, the number of bytes
to be read includes the bytes read to determine the number. Make that
clearer by subtracting the actual count, not sizeof(qint32).
The check in QQmlProfilerTypedEvent is supposed to happen before we cast
the number to the more restrictive type. Furthermore, if subtype doesn't
fit the range constraint, we don't have to do anything at all as the
default rangeType is already set before.
Change-Id: I48c8c47e4207abae6e718eea97815d43e7f9d833
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
| |
Change-Id: I989ea0802f459b2440ee580e94340a1e64bf00e4
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
(cherry picked from commit 283a900c4e8518fef33a2c89cb597fbf1e6ad78c)
|
|
|
|
|
|
|
| |
Change-Id: I8a8dd8f55075ce23e0ae85abde2538560d5fa2b5
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
(cherry picked from commit dfbe91853737ff8ab548925bbd40fc9183a6e05d)
|
|
|
|
|
|
|
| |
Add files for binary compatibility test for QtDeclarative
Change-Id: Ie7a156e40176cc98ce31d5e4189d1e41c7c6df62
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
| |
Scale the subrect to fit image dpr.
Task-number: QTBUG-68490
Task-number: QTBUG-68582
Change-Id: I6b0a9af73013dc6cf2b65103d5868f45da8e338e
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
| |
Change-Id: I061a94a4cd642a8832899f69dc33a0a7bd597b72
|
|
|
|
|
|
|
|
|
| |
This causes the updated arguments to be reported to the debugger when
they are overwritten in the function body.
Task-number: QTBUG-68534
Change-Id: I30c22d31aa97da0d58a4bbaaa032180a919669a8
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
The method updating the internal class for a CallContext messed
up the order between locals and formals, leading to wrong name
lookups for signal handlers taking implicit arguments
Task-number: QTBUG-68522
Change-Id: I36d55b3b0cfe9af6397455782551498b7ddb940a
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
INT_MIN % -1 crashes in C++ with an arithmetic exception, so
avoid passing negative numbers into the integer operation, use
fmod() instead.
Task-number: QTBUG-68513
Change-Id: Ib5a37b55a0f9d41a84c7e6c00ea3f87622155de5
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Once upon a time, calling stat directly on Unix-alike systems gave a
significant speed-up compared to calling QFile::exists. These days not
so much. It also breaks any use of custom subclasses of
QAbstractFileEngine.
Task-number: QTBUG-68463
Change-Id: Icae8a16880723dee13c460cfdb15b03dc63c1371
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
| |
Apparently QVariant::save cannot deal with QJsonObject and friends.
Transform them into QVariants before sending them over the wire.
Task-number: QTBUG-68474
Change-Id: I8fc9fade4915c2b40f8d16aea51ea6ff65247dc1
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
jit/qv4assembler.cpp:65:11: error: unused variable 'IsIntegerConvertible_Shift' [-Werror,-Wunused-const-variable]
const int IsIntegerConvertible_Shift = QV4::Value::IsIntegerConvertible_Shift;
^
Change-Id: I8fd7f03661e9bb7d80c92947cd43841189f148ce
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If we call get() on a model in a worker thread, we may end up creating a
ModelNodeMetaObject (aka cacheObject). Subsequent mutation of properties
may make us end up in emitDirectNotifies(). However since we can't have
bindings in there, we should shortcut/suppress the notify emission, which
we can do by checking ddata->context via qmlEngine(). The previous code
crashed when qmlEngine() return a null pointer but
QQmlEnginePrivate::get(const QQmlEngine *) would attempt to dereference
the parameter.
Started-by: Slava Monich<slava.monich@jolla.com>
Change-Id: I880619c686436c053692faafa5dba2c96c2ace96
Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
Reviewed-by: Slava Monich <slava.monich@jolla.com>
|
|
|
|
|
| |
Change-Id: Iccfb86de6f8c14d10fcf12e1b7cbd58a13754aa7
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
| |
Change-Id: Ic3ab7cb4fa1772a0d92c06285f9cddf3378bd411
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We need to encode the scope type properly and we need to return
something from the "scope" command. Previously the client didn't even
get notified about QML contexts and couldn't actually retrieve anything
but call context. The other scope types are not terribly interesting
right now, but at least for the global context it should be possible to
provide more data in the future.
Task-number: QTBUG-68218
Change-Id: I88d3dbc15a93f19b00f6f12365e4fb64ec78862e
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We want all further imports to be relative to the redirected URL, not
the base one.
Note that this will incorporate any prior URL interceptions into the
final URL if a redirect happens. We don't really want this to happen
because the result of interception is not meant to be the base for
further URL lookup. However, as interception occurs before redirection,
this is unavoidable. Don't use URL interceptors on remote URLs.
Task-number: QTBUG-67882
Change-Id: I2717bdd4de119ac67caa08fdccc041432025abff
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Column numbers cannot be negative.
error #68: integer conversion resulted in a change of sign
int value = v8engine->consoleCountHelper(scriptName, frame->lineNumber(), -1);
^
Change-Id: I052407b777ec43f78378fffd1531182f28e09b1f
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When incubation is triggered from C++ and reaches the state of setting
the initial properties (as supplied to incubateObject), we'd set
engine->currentStackFrame to a CppStackFrame that provides access to the
correct QML context. As we're not called from the interpreter, the
v4Function pointer would be a null pointer. If during the initial
property setting an exception is thrown (due to non-existent property
access) and a back-trace is created, we'd end up dereferencing
v4Function.
Change-Id: I7f6b0ba7893bfb4186f55d4c213b4bb602d29aa0
Task-number: QTBUG-68416
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Changing the prototype of an object back and forth leads to a
'cyclic' reference in the internal class transition tables. If
one of those objects then gets a new property, we would get an
infinite stack recursion trying to update the internal class IDs
of the classes using this prototype.
Fixed by skipping protochanges and vtable changes in the update
code. That's ok, as those classes will always be reached through
other paths from the empty class.
Task-number: QTBUG-68369
Change-Id: Ie54ca5171a92f8e8b146a91376e435478ff70185
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This code path was previously missed, leading to some AOT-compiled types
generating errors of the form:
Unable to assign [undefined] to int
[ChangeLog][QtQml] Fix QML declared enums with CONFIG+=qtquickcompiler.
Change-Id: Ib46a2b2505aa3863f091a6ccdebf8425e62fc38f
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Replace the link to the more specific "Integrating QML and C++" page
with a link to "Choosing the Correct Integration Method Between C++
and QML", as the flowchart is a much quicker way for users to
determine the correct approach for their use case.
Change-Id: Ia2c269f9149d801644407bba7388624d69a75564
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
|
|
|
|
|
|
|
| |
Makes it easier to open them via the locator, for example.
Change-Id: I8a5a0beba315da25b14bf2d519974e175f39567f
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Calling grabberItem() to get the old grabber must come before setting
m_exclusiveGrabber. Then we call oldGrabberItem->touchUngrabEvent()
or oldGrabberItem->mouseUngrabEvent() as appropriate. Now the
responsibility for this is moved from QQuickItem::grabMouse()
to QQuickEventPoint::setGrabberItem() (which it calls).
Task-number: QTBUG-65648
Change-Id: Ia6219cb798d7f671ccc4006d51eeb87dbdbda3ef
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
The parameters for createRadialGradient indicate the position and radius
for the two circles. Therefore the radius arguments should be used with
their respective circle positions.
Task-number: QTBUG-67960
Change-Id: Ifacba4d43939bafeed451e713250f716a11d30d1
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|