| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Fixes: QTBUG-71812
Change-Id: I93b99496a7572c0f5128c69b865bb2b4f87d29af
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
YarrJIT generated ASM assumes the data to be zeroed. In the wrapper
we allocate from heap where there can be random data. It needs to
be initialized to zero.
Task-number: QTBUG-71663
Change-Id: I67c04e7b6d4bf4b92124aedc4f7bcfdc1a43c833
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
|
|
|
|
| |
Otherwise our disassembler crashes on QV4_SHOW_ASM.
Change-Id: I63b20c0932452fe852773f91ebecaa7f31dd040d
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
(cherry picked from commit 89a1d4ff3f829635d80a90112f6b2d44cc274b1b)
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since change 9333ea8649838d7e0400b0e94c8cbd4fa5d216b0, we lookup
properties in the QML context object before the global object to
have proper scoping rules for QML.
Unfortunately this lead to a performance regression when using global
properties such as Math in imported script files, as the lookup would
always go through the qml context first.
This can be fixed, as we know that the global object is frozen in qml
mode, and the standard names of properties in the global object are
illegal to use in QML. So simply check for those names in the code
generator and create lookups into the global object for those.
Change-Id: I4b2089178c9e5f9440abdfd834cf7d92c3c0e2c3
Fixes: QTBUG-71591
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
|
|
|
|
|
|
|
| |
Change-Id: I4357377c0c9dc1f5935ea9293da3f54f7f289b02
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
Seems like this is the only reliable way to determine whether we
have std::make_unique() or need to provide our own version.
Change-Id: I5b162e0a2d2448d7bc519958c6e85a075812135a
Fixes: QTBUG-71448
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
|
|
|
| |
Change copyright of files introduced in 4207940684b5784 from GPL to
LGPL.
Change-Id: Id2aba2b97f6079a92411d1c448bbee0e03b26d95
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
|
|
|
|
|
| |
Change-Id: Ibdf441d8c73b507a404391f82695d7a99eb3c6ca
Reviewed-by: Tuukka Turunen <tuukka.turunen@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
As with the 64bit implementation: use the scratch register. The return
value register is used to hold the newly allocated space on the JS
stack.
Fixes: QTBUG-71319
Change-Id: Ia924ad24ff7f4fbf5ec21b6e6237cce7d907bf3e
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It turns out that the context information is lost when using the
compiler. The unit->unitData()->sourceFileIndex is wrong (always 0),
which should probably be fixed. This change only works around that by
using unit->fileName(); instead.
Make sure that the test actually verifies translations happen and have a
context.
Done-with: Jan Arve Sæther
Fixes: QTBUG-71553
Change-Id: Ib5926bd4b9a6267644f5c9328a84c23d61ca5466
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
| |
Latest changes moved to xmlpatterns:
e08f9393acc6417598f328d7f4b7b082c5d57afa
Change-Id: I7e3054a3f0f11833053746294e3b2b958047394d
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch allows QML to access let/const variables defined in JS files.
Detailed changes:
- The recently added ContextType::ScriptImportedByQML is changed to avoid
creating Push/PopScriptContext instructions, similar to
ContextType::ESModule.
- QV4::Module is changed to also work with CompilationUnits which are not
ESModules. In this case QV4::Module will behave as if all lexically scoped
variables were exported.
- CompilationUnit is changed to support instantiating and evaluating
QV4::Modules for non-ESModules as well.
- QQmlTypeLoader is changed to always create QV4::Modules for evaluating
scripts. For the non-ESModule case, the QV4::Module is evaluated inside a
QV4::QmlContext, as before.
- A pointer to the QV4::Module is added to QV4::QQmlContextWrapper, and used
in virtualGet to access the let/const variables in the CallContext. Access
is read-only.
Fixes: QTBUG-69408
Change-Id: I6f299363fdf5e1c5a4a0f1d9e655b4dc5112dd00
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add \namespace for for namespace QtQml, as it has logging functions
that previously saw no generated documentation.
Fix \qmltype name of DelegateChooser, as well as a number of related
typos and linking problems.
Task-number: QTBUG-71502
Change-Id: I5a9c635853ef73c99a1b1f55cd1c0a1a87fdf6ec
Reviewed-by: Martin Smith <martin.smith@qt.io>
|
|
|
|
|
|
| |
Change-Id: I9af3dc69cc5baf1c35e836345590baf5b55b1bed
Fixes: QTBUG-70937
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
When allocating a huge item that requires it's own memory
segment, we were actually not committing enough memory from
the OS.
Fixes: QTBUG-71501
Change-Id: Ic86a648bba4d7f1eeeded78d8de0f0fc1d3a251d
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The signature is based on [1] and [2], with an empty implementation to match the
default behavior.
This mutes the following warning when building with MSVC 2015 & 2017:
warning: C4291: 'void *operator new(::size_t,void *) throw()': no matching operator delete found; memory will not be freed if initialization throws an exception
[1] https://en.cppreference.com/w/cpp/memory/new/operator_delete (#13)
[2] http://www.cplusplus.com/reference/new/operator%20delete/ (#3)
Task-number: QTBUG-71024
Change-Id: I32f80a902672d9af27960a185a1b0c91798806c5
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
|
|
|
|
|
|
|
|
|
|
| |
Add new enum value QV4::Compiler::ContextType::ScriptImportedByQML, which
behaves exactly the same as ContextType::Global. A follow-up patch will change
the behavior slightly.
Task-number: QTBUG-69408
Change-Id: I20d27804fd1433f2229704546bcd78a0ac108c01
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
| |
In addition, changed the \section titles to sentence case.
Change-Id: If62cc8f2a3f6a99123ccfb4d030d3f58a2fe8dea
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
|
|
|
|
|
|
|
|
| |
It is possible to find the rules via a web search, but it can be made
easier by giving the section its own descriptive name.
Task-number: QTBUG-71505
Change-Id: Ibbf8768c7570d09b0a4bc3026632730f7e8c1c02
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When the accumulator doesn't overlap the return value registers, we move
the accumulator value there when doing a function exit. This happens for
arm32 and arm64. This is a problem when doing a tail call: these
registers are also used to store the first two arguments for the call,
so restorating will wipe them.
Task-number: QTBUG-71212
Change-Id: Ifd82729e8741418c1b54e804724893e02bd180c7
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Elaborate a bit on some specific types, suggest the use of the overload
and omit some values that either exist only to complete the enum for API
standard purposes (NoError) or exist only for porting purposes but are
not relevant in use (EvalError).
Change-Id: I4f9cf7a4605305642fc20570a90a16f2c29d8b98
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Reviewed-by: Richard Weickelt <richard@weickelt.de>
|
|
|
|
|
| |
Change-Id: Id6cd0b7c571b38db30bded030f6927c9b5fbdb96
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Breaks Boot2Qt yocto build with following error:
Project ERROR: Unknown module(s) in QT: quick-private
| Makefile:153: recipe for target 'sub-wavefrontmesh-make_first' failed
| make[2]: *** [sub-wavefrontmesh-make_first] Error 3
Change-Id: I6610a25a52b87949c7cfdfef9e39f9225c79e1dc
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
The dependency to Qt Quick Controls 2 is now simply 'qtquickcontrols'.
Remove the dependency to old version 1 of Controls, and update linking
to Controls examples accordindly.
Task-number: QTBUG-70333
Change-Id: I2f42031ab8aea90332b8b68537654ea761e44811
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
|
|
|
|
|
|
|
|
|
| |
Serves to simplify porting from QtScript by replacing
QScriptContext::Error and QScriptContext::throwError().
Change-Id: I4bfe404c358c50aaf3b5469a4304fec97552bf24
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
| |
Emphasize that the model is the same as with C++ (or QML for that
matter), in the sense that only trusted code should be evaluated.
Change-Id: Idd377af76ac7ebeb9f92a9ccc359c612f73e8bef
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, each time a new touchpoint is pressed, we would purposely
forget which touchpoint was acting as the mouse, as part of "starting
over" with event delivery. Conceptually "starting over" ought to mean
as freshly as possible; but in practice, if a user was using one finger
to interact with some mouse-only Item, and then presses a second finger
(whether intentionally or not), (s)he doesn't want the first interaction
to immediately end. The multi-finger DragHandler must be able to take
over the grab from the Item which already had the grab; but it uses
a passive grab in the meantime to track the movement, and normally
takes over the exclusive grab only when its preconditions are met:
the point has to move past the drag threshold. So we can wait until
then to reset the touchMouseId.
The concrete use cases are: double-tapping a map is supposed to zoom
in, even if there is a MouseArea on top. And, while dragging a Slider
inside a Flickable, you should be able to start dragging the Flickable
with a second finger. In the first case the issue was that the
MouseArea could grab while handling the synth-event, thus setting
touchMouseId; then touchMouseId was immediately reset again while
handling the second touchpoint, so the second touchpoint would also be
offered as a synth-mouse event to various items. But while fixing
that, we have to avoid this issue in the Slider-in-Flickable case:
when the first touch press is delivered, Flickable takes the exclusive
grab temporarily; after moving the touchpoint, the Slider's
DragHandler steals the exclusive grab. Then we try to deliver the
second touchpoint press: at this time, we don't want touchMouseId to
be set, because we want to be able to deliver synth-mouse events for
the second point so that Flickable can grab that one. So it must be
that when DragHandler steals the grab, we can reset touchMouseId,
because the only reason it was set was that Flickable had the grab.
This result is achieved by having QQuickItem::touchUngrabEvent()
call a new QQuickWindowPrivate::cancelTouchMouseSynthesis() function.
It was already a good idea to have such a function since we always
reset touchMouseId and touchMouseDevice at the same time.
Also modify the docs to remind users that when subclassing
QQuickItem and overriding mouseUngrabEvent() or touchUngrabEvent()
they should call the base class implementation, to avoid bypassing
this new functionality.
Fixes: QTBUG-70998
Change-Id: I02894971e9047d4fa7ac9d062d6714c9183a8058
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/imports/settings/qqmlsettings.cpp
src/quick/items/qquickwindow.cpp
tools/qmlplugindump/main.cpp
Change-Id: I3e5dae4de25b2da961a572b3a4bd151181d211c9
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Before, it would assume that StaticText was the role if the item
could be cast to a QQuickText. It should only do this if the role
is not explicitly set, in case it is not really StaticText in the
attached property.
Change-Id: I800810f1347fc9aa412c4ca5d180f78d27a89b38
Reviewed-by: Andre de la Rocha <andre.rocha@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We can only have up to 65536/4 tiles since we are indexing with
quint16.
Task-number: QTBUG-58924
Change-Id: I55b5a9f2a3fb4582e327859482dd978b61b21e4e
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It's common for users to bind to these properties and think that it's a
bug that it doesn't work, so we should make the note in the docs more
strongly worded and elaborate a bit.
Change-Id: I82c8d5644ed81cc616a3035f489344a491ea5a66
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If during delivery of a mouse press, user code calls qApp->sendEvent()
with another mouse press, then when delivery of the nested event is
finished, we call QQuickPointerMouseEvent::reset(nullptr). Then when
delivery of the original mouse press resumes, crashes are possible
because most of the code assumes that QQuickPointerEvent::m_event is
not null during delivery.
Change-Id: Id65b1f2f64351e40d03bcd4f4d16693d616729da
Fixes: QTBUG-70898
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
First, warn the user that the QSettings instance failed to initialize
if there was an error. Then, if the error was QSettings::AccessError,
print the specific application identifiers that weren't set so they
know what they have to do. For example:
QML Settings: Failed to initialize QSettings instance. Status code is: 1
QML Settings: The following application identifiers have not been set: QVector("organizationName", "organizationDomain")
In my case, the QSettings instance wasn't created on
Windows because organizationName wasn't set.
Change-Id: I7970209e09b78f785730422c45978775311b96ac
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I0acef28542e5322cf3de23ec7fcb571513ccb673
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|\ \
| | |
| | |
| | | |
Change-Id: I9c455be35c18031c1eb4e8ca8d4b85183f72a051
|
| | |
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-53111
Change-Id: Ifaef6a855914d79155f8028b0de7ccca3c9a00f5
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
QML code that imports any previous QtQuick version (e.g. 2.11) and connects to
any of the four 'at boundary' properties (atXEnd, atXBeginning, atYEnd and
atYBeginning) change notifier (e.g. atXEndChanged) stop working because the new
signals available only with new import, but the older import has no idea that
it could connect to the older notifier (isAtBoundaryChanged).
Remove revision number from the notifiers of the four 'at boundary' properties
to mostly fix backward compatibility until a better solution is available.
Fixes: QTBUG-71243
Change-Id: I9b4c944c62e0c6c83ceed765b7cd99519e9cd109
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The properties used to have a single notifier that name is different from
the properties names. QML Engine always connects a handler to signal, if it
exists and only if there is no such signal then it lookup for a property
notifier. In commit e92f76cf9ea91e87ec2e3e68234899fd9c12142f we introduced
new signals that match the names of the two property changes handlers, but
the signals are not available on older import.
Remove revision number from the notifiers of Text.contentWidth/contentHeight
to fix backward compatibility until a better solution (such as extra engine
logic like "if a signal that matches the handler is not available then check
if there is a way to connect to a property notifier that matches the handler"
Fixes: QTBUG-71247
Change-Id: I11fb6230d85218ef437816c60c8147b953d47241
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
With 9 states the benchmark showed
QSet 0.00041 ms
QVector 0.00016 ms
QVLA 0.00015 ms
Change-Id: Ie2de19bd8281b7fddd9ad4246035dcd0f3483102
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I19ca6e366cb8b2ca069ac2f4b2c2c834bcea8f3d
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Permit enums from sub-classes to overwrite enums from super-classes, but
keep warnings about clashes within a class, provided that the values
differ. The last condition relates to the declaration of enums and a
subsequent declaration of Q_FLAGS, which appear to have the same keys
and values in the meta-object system.
Task-number: QTBUG-71184
Change-Id: I2a00dc90e3714fc4c6fe8add5a6268b88bb9e745
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Rainer Keller <Rainer.Keller@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Otherwise it is silently ignored and given that we change
states by name i think it's a thing the user would want
to know that he made such a mistake, i know i would
since i just lost some time figuring out why changes i made
to a state didn't apply and it was because i had a duplicate
state name in a long states definition
Change-Id: I342e44829f7d32daf6eed0edad33f5b7a42ff5bf
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Commit 939014cb9cad2f3357f47b28a4580397c17b913c improved performance of
property lookups beyond the scope object, with the unfortunate
side-effect that the previously polymorphic lookup of methods broke.
Fix this by moving the handling to the caller side and falling back to
the string lookup for functions.
Fixes: QTBUG-71204
Change-Id: I2d9924034a9c14e7d161fa49d51b1f876ab5bc0f
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I44a90dec16dc1421a32a7770b353a4df14c057f9
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
Add a mesh type for use with ShaderEffect which loads the geometry from
an .obj file.
Change-Id: I53c9149fc56cdab4a36fccc087abf54a6b50f42f
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
That is, initialize variables in the private class where they are
defined, and move the padding warning out of that section (now it
says the whole class is padded to the alignment boundary, but there's
not much we can do about that).
Change-Id: I63101b6a837c69265c73b4c6001f1901fcaa8572
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
Change-Id: Id308272cc59eca8c95f1386db8cd64f266124579
Fixes: QTBUG-48757
Fixes: QTBUG-70212
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
While the view is flicking, if the content is updated by
a model reset, it gets very confused and creates many delegates
that won't be shown inside the visible area.
Now we cancel any active flicking before the model reset is handled.
Fixes: QTBUG-70742
Change-Id: I6f7aa368b760a00d08c540f3963c32e1e174a908
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is needed to fix a bug in Qt Quick Controls 2. We need
to know if items within a Menu were created by Instantiator
so that we don't try to recreate them.
Task-number: QTBUG-71066
Change-Id: Iaedaea2be6bf4f70c2c7b6fb37871d5537328e96
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|