| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
We won't use the bytecode anyway, and it prevents consistency checks
that come after the error from failing. Specifically: there might be
jumps that have no label defined.
Fixes: QTBUG-71738
Change-Id: I62a7e943b0156d42caccfa40507853de79e3b1ce
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit c4f82e59d5e9bd3df37c3f08657beb2aeac53161)
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
|
|
|
| |
Task-number: QTBUG-71079
Change-Id: I999130f3994f513bb9d2ca8ddaa94688451937fc
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
(cherry picked from commit b8f4005f132c26b842387e1ae5f492594dc03d86)
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
|
| |
Change-Id: I7a7c095f3df11233029e91b3a95262122ae31fcc
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
| |
Change-Id: I2d402d9be905794e731c73aac75c84168390e07d
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
| |
Change-Id: I0acef28542e5322cf3de23ec7fcb571513ccb673
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-69973
Change-Id: I8636d74c76db3859a6bd5134fd5e52f571340a71
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
| |
This won't compile.
Change-Id: I823435673ebe47900dd8ba2a2a9f6f49e4a31539
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
|
|\
| |
| |
| | |
Change-Id: I886fb173e156fb719d5e1d84cb1b0f3052a606b4
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
MemberData would get reallocated to exactly the required new
size. In case there's one large object dominating things, this
would then trigger a GC run on every reallocation, causing a
quadratic runtime behaviour due to marking and sweeping that
memory.
Task-number: QTBUG-69475
Change-Id: I1834cbe21412ce3409cfd47810af1f73c5a29b46
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|/
|
|
|
|
|
|
|
|
| |
Add missing external page reference to resolve link.
Fixes: QTBUG-70130
Change-Id: I3af162c619ba88d425a7714fbf20f45f7b3213ab
Task-number: QTBUG-70130
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
This change removes warning about using new Array() as constructor
with the snippet in Qt Creator.
Task-number: QTBUG-65891
Change-Id: I858601c21d703e4226db4f4c4d9ef52ec6418ed8
Reviewed-by: Nico Vertriest <nico.vertriest@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
| |
This change provides a bare minimum documentation for the
ItemSelectionModel QML type.
Task-number: QTBUG-58090
Change-Id: I0e232f8e05e7629d6f573f8dce21154d0ec307e5
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When decoding the bytecode, we must be careful to avoid that the
compiler generates aligned memory access instructions, because the
current byte code pointer may not be aligned at all.
When decoding integer parameters, the existing code would expland to
qFromLittleEndian(reinterpret_cast<const int>(code)[-nargs+offset])
which loads the integer from the array before passing it by value to
qFromLittleEndian.
[ChangeLog][QtQml] Fix crashes with unaligned memory access on ARM.
Task-number: QTBUG-69328
Change-Id: Ib1c66113e2b8e103ad6f5de11443a561d23a4185
Reviewed-by: Bhushan Shah <bshah@kde.org>
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Add documentation for setCurrentIndex() and the select() methods.
Include SelectionFlag enum values in select(index, command)
description.
Task-number: QTBUG-56320
Change-Id: Ia43fa2903656d89a1e80bef6097500d329df0c59
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
After commit 91f3687ee51db83d9018bd61c3fbc736c6e9912e in qtbase,
QString::number includes a zero padding in the exponent that breaks
compliance with the ECMAScript tests. Instead of QString::number, we
have to use a QLocale instance that turns off the padding of the
exponent.
Change-Id: Ib8c63bc501cadca026c52359006628f6c271ba6d
Task-number: QTBUG-69432
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Update description as the behavior changed with
2b8b7a162be52f8cd6c2bc39f498a1ddfb59dd68.
* Remove implementation details from description (the specific date),
as it may be subject to change.
* Simplify a needlessly complicated explanation.
Task-number: QTBUG-68516
Change-Id: Ibc25a9923d8c996c47927964cd69b5bd7bbe0240
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
|
|
|
| |
Conditionally excluding such statements is required
to avoid irrelevant content in documentation in some
cases.
Change-Id: If6751608dc438de6f7cc0376ffc36f8d994afba6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
| |
When a type is registered through qmlRegisterType or similar functions,
no error was shown.
Task-number: QTBUG-68323
Change-Id: Iff44bf8744c67dba2fdd12c43aaee44a8e15364a
Reviewed-by: Simon Hausmann <simon.hausmann@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>
|
|
|
|
|
| |
Change-Id: Iff45ea6cf414717fd1cb0a194eef390a9f153838
Reviewed-by: Topi Reiniö <topi.reinio@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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
Task-number: QTBUG-68933
Change-Id: Ibb5aa227e82825085e7214e17dcffcb17fd44157
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
Change-Id: Id40b7a9394a9027551a1334e9e520630e8967cb7
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
|
|\
| |
| |
| | |
Change-Id: Id292599780ae47c6f2f3fa2d3bbc542b113bd16b
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Creating the callcontext for all bindings causes a 15% performance
regression in both of the moving images benchmarks of qmlbench.
But in most cases, we know that a binding can't be a signal handler,
as those always have to start with 'on'. Take this into account
and avoid creating the context for most binding expressions.
Task-number: QTBUG-67782
Task-number: QTBUG-67783
Change-Id: I9a25cb916e374c7d03693e49646ca28853c6ba54
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Allocating a 0 sized MemberData hits an assertion
in debug builds.
Change-Id: I0251b2b38f4b48c7ed35d22f88c0c5c4a98e6464
Reviewed-by: Simon Hausmann <simon.hausmann@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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
With the snippet in the referenced bug report (and the parent patch
applied), the output is:
qrc:/main.qml:19:19: QML ListView: Error creating delegate
There should be more errors after this line, but since the delegate
itself didn't have any errors, we need to also check with the
incubation task. After doing so, the output becomes:
qrc:/main.qml:19:19: QML ListView: Error creating delegate:
qrc:/main.qml: Object destroyed during incubation
This adds important context (for developers and for users reporting
issues in the future) that was previously missing.
Task-number: QTBUG-49224
Change-Id: Ic7ac1a06c7dbdf3746f960d28908cc10f6ae86f5
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Currently, QQmlDelegateModel errors look like this:
<Unknown File>: QML VisualDataModel: Error creating delegate
This patch uses the delegate as the QQmlInfo object so that we get
errors with actual file names and line numbers:
qrc:/main.qml:19:19: QML Component: Error creating delegate
This has several benefits:
- It's obvious which file is causing the issue
- A clickable link in Creator's application output pane
Task-number: QTBUG-49224
Change-Id: I0df0d1a9e898aff5f83131ca62a47cc7f1c74c6e
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
-typedef "Jump" may not be used in an elaborated type specifier
-explicit specialization of function must precede its first use
-"Value" is ambiguous
Change-Id: Ic15c196f1b33211cd3f2f25a54ba478747336fe4
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Janne Koskinen <janne.p.koskinen@qt.io>
Reviewed-by: Nikola Velinov <nvelinov@ghs.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
This patch enables JIT on INTEGRITY s820Am and other ARM64 builds
Change-Id: I2fa130f41a6c5bc6aa86bcfd5a01c2d431300561
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Nikola Velinov <nvelinov@ghs.com>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This means QtQmlDebug needs its own qqmlprofilerdefintions.h. This is a
good thing because this way we notice if we change the definitions in an
incompatible way. The test uses QtQmlDebug after all. Also,
qqmldebugserviceinterfaces_p.h is not available anymore, which means the
service names have to be spelled out. This, also, is beneficial as it
prevents us from accidentally changing the names.
In the context of QmlDebug we don't need to namespace the profiler
definitions, either. This simplifies some code.
Task-number: QTBUG-60996
Change-Id: Ibb39e48c9b758687d68b8ce4431f45eb26939a09
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|