| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
Eddy fixed the issue in the testsuite itself and this change bumps the
submodule to include the fix. (It also brings in the .gitignore fix,
which was omitted from an earlier merge by accident).
Task-number: QTBUG-67010
Change-Id: I006a2c8babb135187eeb5c296b616e7c1208cd4c
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With the QV4::Moth::BytecodeGenerator::Jump type we are relying on the
compiler doing a return value optimization. That however is not required
by the C++11 standard and the GHS compiler does indeed not do that here,
resulting in a ~Jump destructor call in the following sequence _before_
link() is called:
Jump generateJump() { ...; return Jump(...); }
...
generateJump().link();
The destructor however verifies that link() was called, which fails.
Fix this by making Jump a move-only type, which the compiler will issue
if it doesn't perform a return value optimization.
Task-number: QTBUG-66917
Change-Id: I97cc9a5d7f97d61e573ad8bc309cf48ab18eb25d
Reviewed-by: Kimmo Ollila <kimmo.ollila@qt.io>
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When an alias points to a child object which has not yet been
initialized, it's id won't have been registered yet, so setting up a
binding to it will result in a crash.
The fix is: when setting a binding target fails, and its target property
is an alias, queue them until all bindings have been set up, and try
again.
Task-number: QTBUG-57041
Change-Id: I4dc5a6d25c0a32fed9fd952c955e2006c76be45a
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
A call to QQmlComponent::create() transfer ownership of the created
object to the caller. Many tests forgot to delete the object or only
deleted it manually if all tests passed. The simplest way to avoid leaks
this way is to store the returned value in a QScopedPointer.
Change-Id: I6173f440eddedd4f3eab5026f710602a263246c9
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Given two simple bindings in this order
property int firstVar: secondVar
property int secondVar: ...
then the binding expression for "secondVar" ends up being evaluated
twice at run-time. The first time happens when enabling the binding
expression for "firstVar", which results in the engine detecting that
there is a dependency onto another binding that has not been enabled
yet. This is when QQmlData::flushPendingBinding(Impl) enables the
expression for secondVar and does an initial evaluation. Afterwards the
QQmlObjectCreator continues enabling the next binding in ::finalize(),
which will end up evaluating secondVar a second time, unnecessarily.
We can detect this case inside setEnabled and only call update() if we
transition from disabled to enabled state. This should also cover the
case of bindings created and assigned dynamically through QtQuick
PropertyChanges / States, as those call setEnabled(false) before
removing the binding (to replace it with something else) and
setEnabled(true) when reverting the state (in
QQmlPropertyPrivate::setBinding).
Change-Id: I447432891eabff2c4393f5abfee1092992746fa0
Task-number: QTBUG-66945
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
|
|
| |
This lead to quite a few valgrind warnings in test cases.
Change-Id: Icef0fc5f93a68e4fe67e1ecd4755b456ad4778a9
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
gcc 7.2 gives tons of warnings of the form:
./3rdparty/masm/wtf/Assertions.h:186:1: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In practice the marco expansion to (defined FOO && FOO) can safely
be reduced to simply FOO, as #if FOO will expand to #if 0 if FOO
is not defined.
Change-Id: Idc1b09990725b99bbfa2c3bc949565254ea4174f
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We shouldn't allocate objects that are larger than the size of
a standard memory segment through the chunk allocator, as this
can lead to problems when freeing the segment and then re-using
it again.
Instead allocate a private MemorySegment for these objects, and
free it when the object gets garbage collected.
Task-number: QTBUG-66732
Change-Id: Ic24ff65d204977f313ab0adaf7a8132883e525f0
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QQmlData is shared between engines, but the relevant QObjectWrapper is
not.
Since 749a7212e903d8e8c6f256edb1836b9449cc7fe1 when a QObjectWrapper is
deleted it resets the shared QQmlData propertyCache.
ab5d4c78224c9ec79165e8890e5f8b8e838e0709 fixed this situation for
bindings, however we would still hit effectively the same crash in the
same situation if a function is evaluated before a binding.
Change-Id: I20cd91cd8e31fd0176d542822c67e81a790599ba
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When declaring bindings within a group property and that group property
itself is a locally declared alias, then by the time we try to determine
property caches for the group property we will fail as the aliases
haven't been resolved yet.
To fix this we can keep track of such group property declarations
(encapsulated in the QQmlInstantiatingBindingContext that has all we
need) and after we've resolved the aliases (added them to the property
caches), we can go back and fill in the entries in the propertyCaches
array for the group properties.
Task-number: QTBUG-51043
Change-Id: I5613513db3977934bcc51a3df530de47d57326f9
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If we're run from a top-level evaluate() call from the JS engine, then
let's assume that any created components are top-level components that
belong to the root QML engine context. This is not quite a typical
use-case, but our API allows for this and this seems like an easy and
sensible solution.
Task-number: QTBUG-66792
Change-Id: Ic1c9171c257e8e60c0b2c43f9194bd038744ed2d
Reviewed-by: Oleg Yadrov <oleg.yadrov@qt.io>
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
|
|
|
|
| |
Change-Id: I81aa96641d9bef35e003b67e691607a926c087d7
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When initializing a QQmlProperty with the following syntax:
QQmlProperty property(root, "testType.objectName", QQmlEngine::contextForObject(root));
only try to look up types (for each token after splitting on the '.')
if the token starts with an uppercase letter, as 1e350a8c now enforces
that type names begin with an uppercase letter.
Task-number: QTBUG-66715
Change-Id: Iab64be1deb971dca256fc65d358c773837222a57
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
| |
Change-Id: I55adc9c261529ee4b88fbb5591b3955e396437a8
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It seems that qtestlib has never really supported mouse state
handling for multiple buttons (see QTBUG-64030). And the current
implementation of this test relied on QGuiApplication to generate
mouse releases when necessary. Since a37785ec7638e7485112b87dd7e767881fecc114,
qtestlib does not rely on QGuiApplication to deduce mouse button
state, but requires explicit mouse press/release events via
QTest::mouse* APIs, thus causing this auto test to fail.
Refactor the auto test to use QTest::mouse* APIs. This change depends
on a fix for QTBUG-64030.
Task-number: QTBUG-63786
Change-Id: Id24526714ec9716a0126e8288e5e8974074ebc9e
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
It was a bug that we made a local QQuickPointerDevice::Capabilities
instance and didn't pass it to the QQuickPointerDevice constructor.
Further, we've now reserved the entire lower byte for storing
QTouchDevice::capabilities, and the upper byte for storing QtQuick-
specific capabilities, so we can copy the whole lower byte instead
of just the lower nybble.
Change-Id: Ia21b6a1503ea870a1e16cebe70a20f4e21903054
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is for convenience. It's nicer not to need to test tapCount
in JavaScript if you know you want to react on double-click:
onTapped: if (tapCount === 2) doSomething() becomes
onDoubleTapped: doSomething() Neither of these are
guaranteed to be exclusive though: singleTapped occurs first,
then doubleTapped if you tap again quickly, then tapCount
keeps increasing as long as you keep tapping.
Change-Id: I6fff10880831d5be0848b9957141311db8c2c0f0
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Added this variable to qtqmltest.qdocconf because the
module and the module header have different names:
moduleheader = QtQuickTest
Change-Id: Ie9bd61598c063b3f16ef889e5e7bd2f1b33d1fc5
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The creation of module QtQmlTest remains incomplete, but this
update improves the situation a bit. In qtqmltest.qdocconf,
all instances of QtQuickTest are changed to QtQmlTest. In
qtquick.qdocconf, qtqmltest is added as a dependency. This
remains incomplete, because the module header is still called
QtQuickTest, but the number of qdoc warnings in qtdeclarative
is reduced.
Change-Id: Id545f9b5ecb2165d3f0972a059a8a4a4cfd52f2f
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
|
| |
Added the word OpenGL, which was missing.
Change-Id: Ie09ba1ec59615d2f139ef72e0743f67b6c8ff33d
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
|
| |
Removed the word Overview, which had been deleted from the title.
Change-Id: I1af6cc48b0f3c38e2fabe11346b023de317b1fd7
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
|
|
| |
qtquickcontrols2 was missing from the dependency list in
qtquick.qdocconf.
Change-Id: I29231c097ca9f748ed8b3ae49100466318da8352
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
|
| |
This update fixes a \l command that used the wrong syntax.
Change-Id: Icf5cc82eb4118332b42fe67d9d31bb7de07de3fc
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-64470
Change-Id: I78b789caa653883f2776d6c2d8dd303c1a756de3
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
FAIL! : tst_TouchMouse::touchButtonOnFlickable() Compared values are not the same
Actual (eventItem2->touchUngrabCount): 0
Expected (1) : 1
tst_touchmouse.cpp(673) : failure location
Task-number: QTBUG-66278
Change-Id: I20ed910091b7c894aeaf6639d738105022730940
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now in QQuickPointerDevice, the types, flags and capabilities take up
64 bits together, and we reserve enough bits to add more types later.
In C++11 enums can be strongly typed by "inheriting" an integer type,
so we do that. They are signed because button count and
maximum touch points are signed, and because MS compilers do that
by default with enums.
Change-Id: I45f27bcceeef275cbee256472b35f78fbdeeaad6
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
|
|
|
|
| |
Change-Id: I404b06daa5202f6cca887dc63dc4c86d432dd1e5
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
| |
Change-Id: Ie5c5367439f8773eb523ef5d639a018a2fd59c65
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We already had a manual test using a slider, but that has only
one combination of DragHandler and TapHandler.
This test aims to test all possible combinations of DragHandler and
TapHandler together (as siblings, in different parts of the hierarcy,
with a Flickable beneath...)
We also show the current grabbers as an overlay over this entire
collection of manual tests.
Change-Id: Ic634d36d14f7456170f43b077fa72b03fb65bc18
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
|
|
|
|
| |
Change-Id: I5fb8419bc86f0355ca19957456d2a3ebba3c9ef3
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The software backend would assert for the compressed GL texture files.
Autotests updated for this functionality. Moved tests of the optional
texture-file support out of qmltest (where it did not belong) and into
tst_qquickimage, side by side with the tests of the optional svg
format.
Change-Id: I98c407093ccebeb70ba5a93ff0882dbd0b8060d5
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
|
|
|
|
|
|
|
| |
qtdeclarative/src/qmldebug/qqmlprofilerevent_p.h:100:55: error: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘struct QQmlProfilerEvent’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Werror=class-memaccess]
memcpy(this, &other, sizeof(QQmlProfilerEvent));
Change-Id: I72a03da54784ba3dcd89def5ae44c1ae26a68e53
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
| |
qtdeclarative/src/qml/qml/ftw/qpodvector_p.h:119:22: error: ‘void* memmove(void*, const void*, size_t)’ writing to an object of non-trivially copyable type ‘class QQuickBasePositioner::PositionedItem’; use copy-assignment or copy-initialization instead [-Werror=class-memaccess]
::memmove(m_data + idx, m_data + idx + count,
Change-Id: I049703a0a6bb4432dfd3d3ce3c8cef13e9c2e31a
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
| |
qtdeclarative/src/quick/util/qquickanimation.cpp:1669:109: error: cast between incompatible function types from ‘QVariant (*)(qreal&, qreal&, qreal)’ {aka ‘QVariant (*)(double&, double&, double)’} to ‘QVariantAnimation::Interpolator’ {aka ‘QVariant (*)(const void*, const void*, double)’} [-Werror=cast-function-type]
d->interpolator = reinterpret_cast<QVariantAnimation::Interpolator>(&_q_interpolateClockwiseRotation);
Change-Id: I8da70ef666deb3cbdbf05c5bac89f705a2ec5ea8
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
qpodvector_p.h:90:34: error: ‘void* realloc(void*, size_t)’ moving an object of non-trivially copyable type ‘class QQuickBasePositioner::PositionedItem’; use ‘new’ and ‘delete’ instead [-Werror=class-memaccess]
m_data = (T *)realloc(m_data, m_capacity * sizeof(T));
qpodvector_p.h:94:22: error: ‘void* memmove(void*, const void*, size_t)’ writing to an object of non-trivially copyable type ‘class QQuickBasePositioner::PositionedItem’; use copy-assignment or copy-initialization instead [-Werror=class-memaccess]
::memmove(m_data + idx + 1, m_data + idx, moveCount * sizeof(T));
Change-Id: I37088986a0f8613152a355ed6f3f9572316fa607
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
| |
qtdeclarative/src/qml/jsruntime/qv4string.cpp:224:76: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of non-trivial type ‘class QChar’ from an array of ‘short unsigned int’ [-Werror=class-memaccess]
memcpy(ch, item->text->data(), item->text->size * sizeof(QChar));
Change-Id: Ibbb91fb017fe3cc382e4a4641f899c8ea4ef989a
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
| |
qtdeclarative/src/qml/jsruntime/qv4engine.cpp:913:78: error: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘struct QV4::Property’ with no trivial copy-assignment [-Werror=class-memaccess]
memcpy(argumentsAccessors, oldAccessors, oldSize*sizeof(Property));
Change-Id: I6e3d6a1a26fda33aa47c315a183edba9dcd0c0b9
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
| |
qtdeclarative/src/qml/parser/qqmljsparser.cpp:82:129: error: ‘void* realloc(void*, size_t)’ moving an object of non-trivially copyable type ‘class QStringRef’; use ‘new’ and ‘delete’ instead [-Werror=class-memaccess]
string_stack = reinterpret_cast<QStringRef*> (realloc(string_stack, stack_size * sizeof(QStringRef)));
Change-Id: I670b8a860bf3dc9c20126306f7848f38acd75ca9
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
| |
- replace by \quotefromfile statements from existing code
- if no example in existing code: use \badcode
- this makes dbransaction.js redundant
Change-Id: I748fd1b3ee564556d71e9af5ca2dbc70ec37ecc2
Reviewed-by: Martin Smith <martin.smith@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Reintroduce reading - and sanity checking - the data size from the
file header of pkm files. This was commented out during the
refactoring, since it lacked the fix for ETC2_EAC format (ref. 16cd1f8
on 5.10 branch). This commit also includes that fix.
Change-Id: Id85547fb6bee254d58e49ddff4593704f7ab83ed
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
|
|
|
|
| |
Change-Id: Ie1c7541e526e2777af83a46d6ff01b3f7a9a0d3e
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
| |
Followup to 6fa746fa6 to rename setContainsMask and
registerAsContainsMask
Change-Id: Ifdfaf58dccb5fd3665615418e7f1ea09cb914c55
Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
|
|
|
|
|
|
|
| |
Followup to 6eaa95662c2d4ba287ac5d1de5ec49bd3a9f59e6
Change-Id: I082d0a52588a90f6c066f31e4595a01302e19241
Reviewed-by: Martin Smith <martin.smith@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
A few incorrent link commands were fixed. A few "No such parameter..."
errors were fixed. A \qmlproperty return type qwas adjusted. A comment
was removed from between a qdoc coment and its function definition. And
a missing \reimp comment was added.
Change-Id: I79c0882d730c77a179a4daf98bc6a46916c585d5
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Martin Smith <martin.smith@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
A few incorrent link commands were fixed. A few "No such parameter..."
errors were fixed. A \qmlproperty return type qwas adjusted. A comment
was removed from between a qdoc coment and its function definition. And
a missing \reimp comment was added.
Change-Id: Ia1775715b5343d279ca3701e6875abacfadb0cfe
Reviewed-by: Martin Smith <martin.smith@qt.io>
|
|
|
|
|
|
|
| |
This should make it more robust to changes in line numbers
Change-Id: I8394fce060e05226d02af0dad5f7d8d9552bc63b
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
| |
\qmlmodule Qt.labs.handlers 1.0 appeared twice. This one is being removed
because it was older and less complete than the other one, which can be
seen in qtquickhandlers.qdoc.
Change-Id: Id4866eec8c61a2f30920edb661edb1e6bd3fddb5
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
| |
This update corrects several "Can't link to..." errors and splits
a \qmlpropertygroup into two separate \qmlpropertygroups.
Change-Id: Ic9b89a11eef64069154a932dd9dedf18279506a2
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
| |
It was pointed out that containsMask sounds like it ought to be a
boolean property.
Change-Id: I2b56823b60d64f9903b0d5108c6428e691c09ed0
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
|
|
|
|
|
|
|
|
|
| |
These will include Debug interpreter instructions, which wreck havoc
when no debugger is attached.
Task-number: QTBUG-66593
Change-Id: I0692207e51df6d52d0616f37a06ade76b6b2d54a
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|