| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Change-Id: I088ae6e7d7c16a88cc6bcf2eb97898db83df4724
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
| |
Change-Id: Ieb72f57bc75465e938538dd6079f43ba49cbed3c
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
|
|
|
|
|
| |
Change-Id: I54f406d803fa6d458ae53a78abb8c99dc76aab92
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
|
|\
| |
| |
| | |
Change-Id: I7556ac62fd8e1aeb99186c929f1225f02f9d2430
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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 loading a .js file without QQC, we scan the sources and use the
ScriptDirectivesCollector to extract things like .pragma library or
.import ahead of time. That information is passed on to the compilation
unit generator for serialization. When compiling .js files ahead of
time, we also used the same collector, but we forgot to save the data
into the right location before serialization, so we essentially lost the
imports. This patch fixes that by centralizing this code into the
ScriptDirectivesCollector itself.
[ChangeLog][QtQml] Fix regression with .import in .js files not working
when using CONFIG+=qtquickcompiler.
Change-Id: I5413c14b1b8bd3114a997011534fe55cdb7634aa
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Commit f6bbeeb417102c61e8bf23f41e412ed9753a348d began normalizing the
resource urls in the type loader, which broke loading of qml singletons
from resources, as the normalized url is also used for the "pragma
singleton" verification to check that the singleton is in the meta-type
registry. If the registration was done with a non-normalized url, the
check would fail with a misleading error message.
Task-number: QTBUG-68025
Change-Id: I1093ee0cbee884b4a51195c302c8908f748e747e
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Christopher Adams <chris.adams@jollamobile.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When using the VDM or QML list properties as models, the delegate model
injects an intermediate QQmlContext that provides access to the
properties of the exposed QObject as context properties. Before commit
e22b624d9ab1f36021adb9cdbfa9b37054282bb8, that context was marked to be
owned by the parent QQmlContext.
When the reference counting was introduced, that parent became
referenced from the cacheItem (DelegateModelItem), but that intermediate
QQmlContext became floating and was leaked.
This can be observed by running the objectListModel test of
tst_qquickvisualdatamodel with detect_leaks=1 in ASAN_OPTIONS.
The leak is fixed by re-introducing the exceptional case of a parent
holding a strong reference to the child, in just this one case.
Change-Id: Iabc26990d39757b0abe0cddf69e76e88e40fba40
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When used on for example delegates we can and should also print the line
number and column where the component is declared.
Change-Id: I0f02c675425700cde119352d0001895cc31a4c73
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This prevents loading of types with slightly different paths multiple
times, like "qrc:/One.qml" and "qrc:///One.qml".
Task-number: QTBUG-65723
Change-Id: I6e26db6d1d271b2ed37b97eb990618843e99c372
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We were leaking an instance of MyNetworkAccessManagerFactory in the
"NetworkAccessManagerFactory"-example. To add to this the documentation
around QQmlEngine::setNetworkAccessManagerFactory did not specify
whether or not it took ownership, causing confusion.
Change-Id: Ic9eee2c45682c752bcb4aa98943fc0af2b630795
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
This change requires moveToThread change in qtbase
Change-Id: Idf35af4b416f577dabb91f749929dbfe5c88a0f0
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|\|
| |
| |
| | |
Change-Id: Ice58db1687c0cfbd5a19e84ca9fa81b8d3fa7959
|
| |
| |
| |
| |
| |
| |
| |
| | |
The return value of getType() has the ref count increased and needs
handling on the caller side.
Change-Id: I05ffa4dae221f2502f87b76762164bba1389db32
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Calling Qt.binding() on a bound function object is a valid use
case and used to work until Qt 5.8.
The problem was that we optimized the code in QQmlBinding and
QQmlJavascriptExpression to directly work on a QV4::Function,
so this wouldn't work anymore.
To fix this make sure recursive calls to Function.bind() are
unrolled (so that the BoundFunction's target is never a bound
function itself), then add the bound function as an optional
member to the QQmlBinding and use it's bound arguments if
present.
Task-number: QTBUG-61927
Change-Id: I472214ddd82fc2a1212efd9b769861fc43d2ddaf
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Our XHR implementation insists on a valid QQmlContext when processing
callbacks. This is to protect against callbacks being triggered after
dynamic QML contexts such as delegates have been destroyed.
Unfortunately those checks are too strict and make it impossible to use
XHR from within plain JS scripts (where v4->callingQmlContext() will
return a null pointer).
Dispatching the callbacks in functions that are directly called from
QML/JS is safe and something we can do unconditionally. This applies to
the callbacks triggered from abort() and open() for example.
When we're called from QNetworkAccessManager we should enforce the
continued existence of a QML context only if it was present at send()
time.
Task-number: QTBUG-67337
Change-Id: I8235f6ef407adc3eaeeff4eee72238ba6750afb2
Reviewed-by: Michael Brasser <michael.brasser@live.com>
Reviewed-by: Valery Kotov <vkotov@luxoft.com>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When a QQmlEngine warning handler that's called during component
instantiation results in subsequent component instantiations, either via
the signal or via a Qt message handler like in the bug report, then we
might end up modifying the linked list of errored bindings before
returning from the QQmlEnginePrivate::warning() call. The easy fix is to
extract the QQmlError, unlink the delayed error from the linked list and
then deliver the error to the QQmlEngine.
Change-Id: I6b7be61b57b35636282595937046ff76091144a3
Task-number: QTBUG-53293
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I216adf12e7ec402f3ccb4f846165171c9833f23b
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Record errors that happen during QV4::Script::parse() time in the same
way as we record errors during binding evaluation, in order to correctly
set the error state of QQmlExpression. This also removes dead code about
setting line, description, etc. which is taken care of by
ExecutionEngine::catchExceptionAsQmlError.
Task-number: QTBUG-67240
Change-Id: I2d586e16803d0883cdd2d1d262b4c67202c00562
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Now it should always be possible to do
import QtQuick.Module x.m
where x is the module's major version and m is Qt's minor version.
[ChangeLog][QtQuick][Important Behavior Changes] In Qt 5.11 and newer
versions, QML plugin modules are available with the same minor version
as the Qt release minor version number. For example it's possible to
import QtQuick.Window 2.11 or import QtQuick.Layouts 1.11
even though there haven't been any API changes in these modules for Qt 5.11,
and the maximum possible import version will automatically increment
in future Qt versions. This is intended to reduce confusion.
Change-Id: I0d28ed04d186bcdd5acde95b8ed0b66c1c4697e3
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: Ia24767b33a20bd70096bbb8b4f27729c788eb331
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I4bfa05b4619c248119c78d05e64270e6627f6065
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We must also do version checking for QML and JS files that were compiled
ahead of time and are embedded in resources. If the lookup for the
original source code fails, then we must generate an appropriate error
message.
As an upside we get better error reporting when trying to load an empty
file and Qt.include() now reports the error message in the statusText
field.
The error reporting for imported scripts was not changed as importing an
empty script is (oddly) allowed.
Task-number: QTBUG-66986
Change-Id: Ie0ef81af371a51ecf8c66ae7954d43f5cc6c12de
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There are two ways to use function expressions on the right-hand side
of bindings:
property var somethingPressed
somethingPressed: function() { /* ..press something else.. */ }
signal buttonPressed
onButtonPressed: function() { /* ..handle buttonPress.. */ }
In the former case, it declares a property that holds a function. So on
initialization, the right-hand side of the binding returns a closure
that gets assigned to the property 'somethingPressed'.
In the latter case, the signal handler is explicitly marked as a
function for clarity. So, the handler should not be returning the
closure, but the handler should *be* the closure.
In general, it is not possible to detect if the left-hand side is a
property or a signal handler when generating QML cache files ahead of
time. So for this case, we mark the function as only returning a
closure. Then when instantiating the object, we check if it is a signal
handler, and if the handler is marked as only returning a closure. If
so, we set that closure to be the signal handler.
Task-number: QTBUG-57043
Task-number: QTBUG-50328
Change-Id: I3008ddd847e30b7d0adef07344a326f84d85f1ba
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We support simple object bindings such as
someProperty: Rectangle { ... }
when the type of "someProperty" is QVariant, but we produce an error
when it's QJSValue. There is no good reason for that, and the fix for
QTBUG-67118 requires this.
Change-Id: Ia5dc88749bcba0b5c781a6ab2b4a9fb92299e0ac
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We must protect various resources in the type loader with our existing
lock. The QQmlTypeLoaderQmldirContent is now value based, so that we can
release the lock on the shared cache early. Copying it involves
adjusting the refcount of the QHash and QString instances in the
QQmlDirParser.
The safety of this was verified with a TSAN build and the example
supplied in the task. It crashed reliably with TASN errors first and
with this patch it runs without errors.
Task-number: QTBUG-41465
Change-Id: I616843c4b8bdfd65d1277d4faa8cb884d8e77df8
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Allow pulling the shared mutex out of the QQmlThread for the type loader
so that the lock and unlock calls can be inlined. We do a lot more of
those now.
Task-number: QTBUG-41465
Change-Id: I42f3d17feb08863f51b003b061d89f49c5a6d574
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In 2eb2d6386da304cd1164264ae0bff685c796d89c, deactivating/clearing the
loader would now prevent any subsequent bindings from being evaluated.
The problem there was that the item created by the loader wouldn't have
a parent item (among things) anymore, so references to it in the
bindings would result in errors.
The way to prevent it was done by invalidating the context of the item,
which in turn would detach it from the root context. This is a problem
if objects in the root context are referenced after
deactivating/clearing the loader:
onSomethingChanged: {
loader.source = ""
objectInRootContext.doIt()
}
This would result in a ReferenceError when resolving objectInRootContext
and break the behavior present before the fix mentioned above. The
correct way is to recursively clear the context set on all bindings, but
leave everything in place. This way, no subsequent bindings will be
evaluated, but the currently "running" scripts will still be able to
reach the root context.
Task-number: QTBUG-66822
Change-Id: Ic9c2ab0a752093a26967da4783cb4c29cf83d2ca
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Use QT_NO_THREAD instead of Q_OS_HTML. This way we
can test the no-thread config also on host builds.
Move the render loop loopType override to after applying
platform and environment settings, so that we don’t
enable the threaded render loop by accident. Allow
the windows render loop (whether or not this works
is untested).
Change-Id: I4ea76f386a3914de208a380663c665f962cd2069
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The bitfield changes are no longer needed, as the problem with
variables becoming unchangable seems to have been fixed, or has cleared
itself up.
Change-Id: Ia681b7410922473ab26ff57894582f8386380a86
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I729af792166fd2f6c5843ba564e63adf8ae09a97
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| | |
Change-Id: If9e28d143f8cba3df3c757476b4f2265e2eb8b2a
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The helper function added in commit
2659c308792967322564b5088e0e21bb371e0283 is not needed - it was added by
accident.
Change-Id: I29c3cd31f726a46a24a056b27173e96a112eb8a6
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
clang-tidy -p compile_commands.json $file -checks='-*,modernize-use-default-member-init,readability-redundant-member-init'
-config='{CheckOptions: [{key: modernize-use-default-member-init.UseAssignment, value: "1"}]}' -header-filter='qtdeclarative' -fix
Change-Id: I705f3235ff129ba68b0d8dad54a083e29fcead5f
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
From now on we prefer nullptr instead of 0 to clarify cases where
we are assigning or testing a pointer rather than a numeric zero.
Also, replaced cases where 0 was passed as Qt::KeyboardModifiers
with Qt::NoModifier (clang-tidy replaced them with nullptr, which
waas wrong, so it was just as well to make the tests more readable
rather than to revert those lines).
Change-Id: I4735d35e4d9f42db5216862ce091429eadc6e65d
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This update corrects many qdoc warnings, mostly of the "Can't link to..."
variety, but there were also a few qdoc comments added. As of this update,
the qdoc warning count is 46 in QtDeclarative.
Change-Id: Icf2d34c7ce7010ebfd9b474feacfe8af42f3fd5f
Reviewed-by: Martin Smith <martin.smith@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Assigning to a group property inside a property value source or
interceptor as part of an "on assignment" is perfectly valid. That is
because while "color" is a value type property, the on assignment means
we're actually setting easing.type (in the example and test) on the
property value source, not the color, and that one is a QObject. The
same goes for interceptors.
Change-Id: I505a658977a578894d6dfb00bf5c65b41e42b12f
Task-number: QTBUG-56600
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
.qmake.conf
tests/auto/qml/qqmlcontext/tst_qqmlcontext.cpp
Change-Id: I7feb9772fc35066f56b7c073482b53ca8c86c70b
|