We only want the function if it's not a nullptr and if it matches the
required index.
Change-Id: I5695bfb950f66e5a7589b042c3313297c51533d2
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Maximilian Goldstein <max.goldstein@qt.io>
Possibly a compiler bug:
In member function ‘virtual bool QmlIR::IRBuilder::visit(QQmlJS::AST::UiObjectBinding*)’:
error: ‘<anonymous>.QSpecialIntegerBitfield<QLittleEndianStorageType<unsigned int>, 0, 20>::val’
is used uninitialized in this function [-Werror=uninitialized]
UT i = S::fromSpecial(val);
~~~~~~~~~~~~~~^~~~~
This seems to be the only effective way of shutting up gcc.
Change-Id: Ib72bdcafb7336e67cf22ef67c56c7c74421eb12d
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
The screenshot has been out of date for years now. Update it
as well.
Change-Id: I2b9ae3b0c24b0de7f0cd8a2284d67023237f0944
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
It was all-white despite having two items that react to events, which
makes it hard to see what's failing when it fails.
Use loops rather than tedious repetitive hard-coded moves to improve
readability.
"ensure that mouse events do not fall through to the Flickable"
must include having the MPTA "eat" the mouse press.
Change-Id: Ibca14709afbd561f03a62d74d10e6cae94ab302e
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
QTest macros don't prevent further execution when used outside of the
test function, so the rest of these tests would still execute even if
checkNoErrors() found errors.
Change-Id: If80a5d73cbfa18d5009c84bf658f40684b99d8f0
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Use streaming operators for debug/warnings to avoid qsizehint/int
conflicts.
Don't ignore return values from [[no_discard]] functions.
Don't copy elements from containers that return references.
Remove unused variables.
Change-Id: I7a0bef94a5e828bd8facee0c625ec48c3d1f1bdb
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Previously, we would mix them up on importExportedNames(), which was
also misnamed. Now we keep them in their proper place in the scope
hierarchy, so that we can identify which scope a property came from.
Exceptions are the qmllint-specific treatment of parent properties and
Connections elements.
Change-Id: I7c012388b16c83439d6f2de2e83fac0da4940d30
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
For grouped properties, this is the location of binding now.
Change-Id: I7148ba92150e3569d47c382ef78794bfa3b75fce
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
It is expected to return an unsigned value.
Change-Id: Id75c0887de7e9b0eeab378041598621c89507501
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Maximilian Goldstein <max.goldstein@qt.io>
Amends a0f8be4021caa9bb5055923f0eea3bee0e345235; it's not clear if
there's any reason we haven't been running this test all these years.
But we need to use testFileUrl() for loading QML files, and some
additional updates make it more like the other tests.
Regenerated CMakeLists.txt from the .pro files:
python3 ~/dev/qt6/qtbase/util/cmake/pro2cmake.py *.pro
Pick-to: 5.15
Change-Id: I3ddcc993c4536c2d4d751a37c0425943c7d86766
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
For tables of non-trivial sizes, we usually don't know what the
content size will be unless we load all rows and columns, which
we simply cannot do. Because of this, we have up till now chosen
a strategy where we normally just calculate a predicted content
size up-front, when we table is built, and afterwards just stick
to that prediction.
This strategy works for big tables that fills more than one size
of the viewport, and if the number of rows and column in the model
stays around the same. But for tables that start off smaller than
the viewport, and later expands to grow out of it, it simply fails.
And the failure is such that the tableview can get stuck, with no
way way for the user to flick around to see the rest of the contents.
An example is TreeView that might only show the root node at
start-up, but as you start to expand the tree, it will quickly add
more rows than what fits inside the viewport. And in that case, the
contentHeight will be totally off, and in turn, make the scrollbar
be based on wrong values, and sometimes not work at all (e.g if
it has the flag Flickable::StopAtBounds).
This patch will change the implementation so that we recalculate
the content size whenever it should logially change. That is, if
e.g the model add or remove rows and columns, or if you change
spacing. This still doesn't mean that contentWidth/Height reports
the correct size of the table, but at least it will be a better
guestimate for smaller tables, and at the same time, work
together with Flickable and ScrollBars.
Pick-to: 5.15
Fixes: QTBUG-87680
Change-Id: Ie2d2e7c1f1519dc7a5d5269a6d25e34cf441b3fe
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Since the Q_ASSERT_X(receiver != this, ...) has been there for a long
time, clearly it never happens in real life. It doesn't happen in any
of our autotests either. So having dead code to handle it is just confusing.
Amends d9d2277fb8
Change-Id: I69714804e4967cc1a373af67bf4c9a4c169f5738
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Since we cannot be sure when the event loop that would usually
handle deferred deletions will run the next time we have to delete these
components immediately otherwise we might run out of memory.
Fixes: QTBUG-86676
Pick-to: 5.15 5.12
Done-with: Maximilian Goldstein <max.goldstein@qt.io>
Change-Id: I01d74f7eea442f8ba240dd66a4cedd6316fbeec2
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
The change in qtbase which made removeAll had the unfortunate side
effect that were deducing type int now (instead of converting 0 to the
null pointer constant), which -after a few indirections- leads to
3365: src/quick/items/qquickwindow.cpp:3785:22: required from here
/usr/include/c++/10/bits/predefined_ops.h:268:17: error: ↩
ISO C++ forbids comparison between pointer and integer [-fpermissive]
268 | { return *__it == _M_value; }
| ~~~~~~^~~~~~~~~~~
Change-Id: I2ba7c561a2431a8a71f77068daef60d5ae62f17c
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
For backwards compatibility, a replacement for qmlcachegen will need to
provide the same functionality.
Change-Id: I22664230ea636d384190122223d15819ebee930c
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
If we import the builtin types multiple times from different places, we
want them to match.
Change-Id: I3f2f0ec0d72fb4e178ee69517ecafa8260ebc35e
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
The declaration is to be written without the square brackets.
Fixes: QTBUG-87684
Change-Id: I8fb7fb1f9204cb56d2fa1e2c10ec585ff0e2b512
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Instead, output a warning if the revision doesn't match the version. We
want to get rid of generic version/revision matching. To this end, add a
way to retrieve the version from an export.
Change-Id: Ie887103eba910f14e49faa684ac559cc72cab199
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Use the now preferred GraphicsApi enum value (e.g. Vulkan instead of
VulkanRhi). Drop a reference to the long gone QSG_RHI env.var.
Change-Id: I233611b40186884a70e9680b3dfef7284b3e3c73
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
...while extending the autotest to cover more complicated cases, such as
grabbing again after show-hide and doing show-grab-hide-grab-show-grab.
In fact some of these cases have not been working in Qt 5. Now the basic
render loop is fixed up to support the all the combinations threaded
does.
Task-number: QTBUG-87399
Change-Id: Id01995bc3a2660b16cfb2f8bedc84becea0be1bb
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
And refactor QQmlJSMetaProperty to use setters rather than a gigantic
constructor. Also, notice that we don't have to construct the same
property twice just to update its type.
Change-Id: Ia6c195fa7088f6ecdff868daae17d4284c1edb22
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
We don't have tests for them yet.
The API surface is quite big.
Some options might not make sense anymore.
Task-number: QTBUG-86827
Change-Id: I4aebdb2cdfa716433681d32967ab32f1c171925c
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>