| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Event delivery logic will live in util/qquickdeliveryagent.cpp now.
The actual QQuickDeliveryAgent class will be created in a followup patch.
Change-Id: I5dcbb7602ff90d87f8e23e09e29b458d0d60905b
|
|\
| |
| |
| |
| |
| | |
This should finish the split between qquickwindow and qquickdeliveryagent.
Change-Id: I6d440a146f84c0b3555be9537181ef48cca016e9
|
| |
| |
| |
| | |
Change-Id: Id729aa4ceac90e940a9e05405159970c0e677369
|
| |
| |
| |
| | |
Change-Id: I94d2fb19b885a4821f3d2e12bde14fd834386848
|
| |
| |
| |
| |
| |
| |
| |
| | |
This is another step in the process to split event delivery logic out of
qquickwindow into qquickdeliveryagent, while keeping git blame intact.
In this patch we just rename qquickwindow.cpp to qquickdeliveryagent.cpp
Change-Id: I01b6a022c646239bb252654d4781b6efb81e9876
|
|/
|
|
|
|
|
|
|
| |
This is the first stage of a split according to the technique in
https://devblogs.microsoft.com/oldnewthing/20190916-00/?p=102892
This won't compile as-is, but will after we merge the wip branch in
which the functions exist in qquickdeliveryagent.cpp.
Change-Id: I1a9749b7877248b54c557de564ec6fa5b0105f73
|
|
|
|
|
|
|
|
| |
Removing MyButton.qml and replacing it with QtQuickControls2.
Task-number: QTBUG-90884
Change-Id: Ie1b22e817dedfd71593b074561bdfe2e7dc36008
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The "qml" tool was the only way of loading QML files that would respect
a shebang line. This is problematic as this way you cannot load such
files programatically using QQmlComponent, limiting their re-use. Common
tools like Qt Creator, but also qmllint, qmlformat, qmlcachegen, etc
would not recognize files with shebangs.
By moving she-bang support directly in the lexer all tools implicitly
support it.
Note that we could just as easily support '#' as extra comment
character along with //, but here we narrowly add support for in
the first line only, as node does (this means that javascript files
using she-bang accepted by node, are now accepted also by qml).
The only tool needing some adjustments is qmlformat, that has to emit
the she-bang again as she-bang and as first line.
Add tests for qmlformat, and sprinkle some she-bangs in the other
tests just to be sure it doesn't affect anything.
Change-Id: I1f6d881c7438bdb23163b5dbe829d59a35d11132
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We prefer camelCase rather than SHOUTING for module constants.
It fits well to have logging categories as constants that start with lc.
That has become conventional in various modules, and we've been using
that convention already for some time when defining new logging categories.
Now we finish renaming the Qt Quick ones, ahead of a refactoring which
will result in moving some of them around.
Pick-to: 6.1
Change-Id: I47003b9e525fe70d35dbd2450d03379b52d67c1d
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
|
|
|
|
|
|
| |
Otherwise you can't print out window objects with it.
Change-Id: I2a177bd71215cfcb3f5fc47c9171eaba9a12ac0f
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-91116
Change-Id: I8dd0d66a7cabe9b28e0246120d81dd99c8df9846
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Do not set m_cursor (cursor position) before calling
removeSelectedText() in processInputMethodEvent(QInputMethodEvent *)
method.
Before this change, DeleteSelection command was added to history with
new cursor position. If this command will be later rolled back, cursor
position will not be set correctly. It should be set to position
before handling the event.
Pick-to: 5.15 6.0 6.1
Task-number: QTBUG-90239
Change-Id: Ib5e46d232e6b32f904e745da4f9e5bc03a58963f
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
|
|
|
|
|
| |
Change-Id: I6f83fc61c72993c04c99ff16c31c10b20ada5db8
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
| |
Change-Id: I269c78cf454276ce4d704a10f78afb29ee886464
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: Ibbe0d15f048846dcbe8dab203cb5984290940983
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QQuickItem returns whether it contains QGuiApplicationPrivate's
lastCursorPosition. Since that position stores the coordinate last seen
by Qt (the window border), it will always be within the window, and
within an item that covers that part of the window's border.
However, QQuickWindow stores the lastMousePosition as well, and resets
that value when it receives a QEvent::Leave. We can use that to test
whether the window that contains the item has seen a Leave event, in
which case the item is definitely not under the mouse.
Notes on the test: That we use QPointF() as the "reset" value leave the
small possibility that the cursor might be at position 0,0 of the window
(ie inside the window), and the QQuickItem there will not be under the
mouse. We can't confirm this (through an expected failure test), as
QTest::mouseMove interprets a QPoint(0, 0) as "center of the window".
And since we can't simulate mouse moves outside a window's boundary
using QTest::mouseMove, the test needs to explicitly synthesize a
QEvent::Leave for the window.
Fixes: QTBUG-87197
Pick-to: 6.1 6.0 5.15
Change-Id: I04870d6e914092275d9d790312fc702fb99f2935
Done-with: Ivan Solovev <ivan.solovev@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
|
|
|
|
|
|
| |
Change-Id: I058e7df9263be165ff0370ddc8c947aca1eba9b5
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Maximilian Goldstein <max.goldstein@qt.io>
|
|
|
|
|
| |
Change-Id: If4a233aa192051e320828d0dcefa7b3f62d7223a
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
You should declare functions with formal parameters if you want to use
parameters passed by the signal. We need to generate two different
warnings because there are two code paths by which such parameters are
injected. If we compile with qmlcachegen, it simply inserts a lookup
instruction in to the byte code. This lookup then triggers our special
hack expressly made for signal parameters. If we don't compile using
qmlcachegen, a function declaration with formal parameters is
synthesized. We mark those formal parameters as injected and warn if
we see one of them used.
[ChangeLog][QML][Important Behavior Changes] The automatic injection of
signal parameters into signal handlers is deprecated. This is because we
cannot determine the names of the signal parameters at compile time.
Furthermore, also for human readers it is difficult to discern between
arguments, context properties, properties of the current object, and
properties of the root object of the component. Requiring the signal
parameters to be explicitly named resolves some of this confusion. You
can turn the deprecation warning off using the "qt.qml.compiler" and
"qt.qml.context" logging categories.
Task-number: QTBUG-89943
Pick-to: 6.1
Change-Id: If0a5082adb735a73efd793868b3a55bc7d694cbe
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Add execution function that can evaluate runtime functions available
in the compilation unit. Private API for now as it's unclear what would
be a comprehensive solution to support all existing use cases
Task-number: QTBUG-84368
Task-number: QTBUG-91039
Change-Id: Icf755b53484587d7983eaae4821c1aa0111d5c05
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
| |
Change-Id: I4154a0b5c7115375292794e0564d2f3657e6b4dd
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
| |
We seem to be checking grouped properties twice by endVisit(UiObjectBinding*) and endVisit(UiObjectDefinition*).
So the UiObjectBinding variant is removed here as this gets run before all type information is available.
Change-Id: Idfe23869792f787df6109cde3b6bc1d96cce3dc3
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
| |
Move the value type registry into QQmlMetaTypeData. This way we can
conveniently drop the relevant entries when unregistering a type.
Fixes: QTBUG-86946
Change-Id: Id024a34a8b2b622fd9417fc0e52864b43c66cc01
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
You should use qmltyperegistrar these days.
[ChangeLog][QML][Important Behavior Changes] qmlplugindump is
deprecated. Instead of using qmlplugindump to generate qmltypes files by
loading and analyzing the pre-built plugins, you should declare your QML
types using QML_ELEMENT and friends. Then you can automatically generate
the qmltypes files at compile time using qmltyperegistrar.
Fixes: QTBUG-91089
Change-Id: Iebd1b71a8e36c311d1590cb10128f9fc6d5e318c
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
| |
Injected signal handlers are bad practice because they aren't declared.
Pick-to: 6.1
Task-number: QTBUG-89943
Change-Id: I3a691f68342a199bd63034637aa7ed438e3a037b
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
| |
The boot2qt condition is not true on boot2qt QEMU builds and
the test passes correctly in CI using QEMU.
Change-Id: Ifd87e543168f2dd8639a9287652e606a706f8ede
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-90439
Change-Id: I0e29e2ee090d5aa4ae40bcca4bd5fa14f87d9c0c
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
|
|
| |
Fix errors with \fn and hidden friend functions
Task-number: QTBUG-90439
Change-Id: I1de021c953efdd397de4bb25cbe3180175265174
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
|
|
| |
Fix compiler warning, QScopedPointer::take was deprecated in Qt 6.1.
Pick-to: 6.1
Change-Id: I67045bce97efb082b1b7467a6c24d5dbf996fdc1
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
| |
Pick-to: 6.1
Change-Id: Ibcb20311c7e5a56038c738da77d9dfcc9464bce4
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
| |
Change-Id: If7eaa4bcf1b362fce410a6e28fbc33ef8b43388a
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
| |
It's easy to mess this up when you transform your signal handlers into
functions.
Task-number: QTBUG-89943
Pick-to: 6.1
Change-Id: If35be2f6828a0e19aada19abb41d8135b0c6ab45
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This collides with injected signal parameters. qmlcachegen cannot tell
those cases apart.
[ChangeLog][QML][Important Behavior Changes] QML warns about JavaScript
variables being used before their declaration now. This is almost always
a mistake. It is particularly dangerous in the presence of injected
signal parameters because qmlcachegen cannot identify a name collision
between an injected signal parameter and a variable being used before
its declaration. It therefore miscompiles such code. You can turn off
the deprecation warning using the "qt.qml.compiler" logging category.
Pick-to: 6.1
Task-number: QTBUG-89943
Change-Id: I8a9424ca8c6edd562402fe5c560ba7e8344b5585
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
| |
Pick-to: 6.0
Change-Id: I3b60586604003e360070a0d481e1a3df2e087e5c
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
m_pixelRatio is not set in the constructor
It seems the method setDevicePixelRatio is always called, so there are
no ill effects, but without setting it we still read uninitialized data
creating warnings when used with a memory checker.
Change-Id: Iadfe07600d027dddb98fdd755b4022b2b81547a8
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We cannot store a QStringView internally, as that would increase the
size of our objects (QHashedString(Ref) does not support strings with
sizes that do not fit into 32bit, thus it can store the hash and the
size in one 64 bit block). What we can however do is to construct a
QStringView on demand (which is cheap), and use its methods.
The benefits are twofold: We get rid of some accidental complexity in
qtdeclarative; and the code in QStringView is actually SIMD optimized.
Change-Id: I2445a2d5a16b253f4971d7f3be0e1b274326eacb
Reviewed-by: Maximilian Goldstein <max.goldstein@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
| |
Change-Id: I4543fd6e7e37c44f3dd97c202914708431e7a989
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: I897549d359b14ca65a560f7f0754b3a6342a4a81
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
| |
Enable tests of 'qt_manual_moc' and manually registered types for
cmake build
Fixes: QTBUG-84906
Change-Id: I98b8902d4a2b70d4e1e218d8bfdedce25be1abc1
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Keeping the parser and the code that uses the command line options in
the same function increases the number of lines for the same function,
making it harder to read, and the number of arguments for parseFile
function, makes it harder to understand and maintain.
This commit adds an `Options` struct to hold on to the command line
options and a build function to create the `Options` object.
Pick-to: 6.1
Change-Id: I5dec0a5a5e990f413ee65bf2eba2ea1087e0ea28
Reviewed-by: Maximilian Goldstein <max.goldstein@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
| |
Just like all of the other datastructures in qv4compileddata, changing
the size of String would require an inrcement of
QV4_DATA_STRUCTURE_VERSION.
Change-Id: I462d04204255946d309d245bc20b044ba9d222d7
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
| |
Change-Id: I13304631a9870874fb130cd9e6598065fc952a71
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
| |
The parameter is gone since 3bc239a0f16fb93f84def55a5980ef8561e7a7b4
Change-Id: Iae411b61f27efd60b489dbc219ef0ad07ad19938
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Instead of spelling out QExplicitlySharedDataPointer<QQmlBinding>. That
is consistent with all other code, and makes grepping for binding
pointers easiers, as they now all end with Binding::Ptr.
Change-Id: I19018732a699368200f129cecf869ece1c8b1a7f
Reviewed-by: Maximilian Goldstein <max.goldstein@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
| |
Pick-to: 6.1 6.0 5.15
Fixes: QTBUG-86482
Change-Id: If938fad22f51b08fe3cb20b94634efe46a1eed47
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
| |
Change-Id: I7be2664bc75037d4575d2df7d0cd56c775512562
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
| |
The 2 is meaningless.
Task-number: QTBUG-85064
Change-Id: I9f140155d274c691b5eab1285d9b7153f9f93a87
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
| |
Change-Id: Icbbddf19c5302196a56f5920de41ef0a2cec23b2
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: I83c4e4060be7ba21c6913a56fd9c5abb30527a29
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
| |
The "2" is meaningless and there is a better name available now.
Task-number: QTBUG-85064
Change-Id: I65d26b06712ed7dcf2825f16dffaa6060dd86985
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
|