| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
According to QUIP-18 [1], all examples and snippets files should be
LicenseRef-Qt-Commercial OR BSD-3-Clause
[1]: https://contribute.qt-project.org/quips/18
Pick-to: 6.7
Task-number: QTBUG-121787
Change-Id: I34b4d6d4a5a6715fb270a916ac7c19c3a09b27d9
Reviewed-by: Kai Köhne <kai.koehne@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
By adding it to the default build flags via .cmake.conf.
This amends commit f981367f365686e6c6bf99d0416d8fd6efb87f32.
Task-number: QTBUG-116296
Change-Id: Ie1c95f4245694ea7bee17da2d32becc08132cb20
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Upcoming changes to QDoc require API entities to be fully qualified;
previously, QDoc maintained a list of 'open namespaces' that were
part of matching the documented entity with its declaration, but
that concept does not work for parallelized parsing where the order
of processing can be arbitrary.
Change-Id: I1662fb4692b5c91a2d9e33eb17708544d9cd1ebb
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
we need to avoid polluting the global (or qt) namespace by moving the
`using namespace Qt3DXXX` statements into the namespace where it's
actually required.
furthermore:
* replace `QT_USE_NAMESPACE` with `QT_BEGIN_NAMESPACE`/`END` pair
* exclude some translation units with name clashes inside anonymous
namespaces
Change-Id: I5301b55c6a0c7079602c759f5bde152354149880
Pick-to: 6.7
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
|
|
|
|
| |
Change-Id: Ic3f9115a9d55038b3d8901b894d662164e8a79bc
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
|
|
|
|
| |
Change-Id: I932571833ae612f635178189b3302f54bb15351c
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On an already running simulation, when adding entities with the
constructor taking a parent node, no backend node was created if a
component was previously added to the tree with QEntity::addComponent().
In QEntity::addComponent(), we call _q_ensureBackendNodeCreated() on the
component, creating the backend nodes of the whole tree, which marks
them with m_hasBackendNode = true. Then, when we try to create a new
entity by using the constructor which takes a parent entity (e.g. `auto
positions = new QAttribute(entity);`), we effectively call
NodePostConstructorInit::addNode(). But since the parent node is still
in the m_nodesToConstruct queue (we didn't return to the event loop
yet), the function did not queue the new entity for backend node
creation.
To fix this, allow the new entity to be added in the creation queue,
even if the parent in the queue has already been created itself
(m_hasBackendNode == true).
* The bug does not happen when creating the whole tree in advance and
then calling setRootEntity().
* It also does not happen if not calling QEntity::addComponent(),
because then the parent backend node is not created, so it will create
its child one automatically once itself is created.
* Finally, not giving a parent node and explicitly calling setParent()
later was also working.
QTBUG-120964 contains an example materializing the crash, caused by the
missing Attribute backend node.
Fixes: QTBUG-77139
Fixes: QTBUG-100387
Fixes: QTBUG-120964
Pick-to: 6.6 6.7
Change-Id: I908f1b5ecc2a845564d38bc634a2c645ad1a8074
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
|
|
|
|
| |
Change-Id: Icd578efe70a9bdaf5ffbd5c8e9500c370d655cc0
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
|
|
|
|
|
|
|
|
|
| |
The quadratic fix proposed by commit
cbffb898fc3625a04a9569e232c0f6231d4d3505 was actually not doing anything
because std::move() was applied to a const variable.
Pick-to: 6.6 6.7
Change-Id: Ieff6341493fd026ad45e0c3e26f0cdb4797b4a6a
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
|
|
|
|
|
|
|
|
| |
Upcoming changes to QDoc require accurate definition for
template arguments in \fn commands.
Task-number: QTBUG-118080
Change-Id: I297dd65dba574b3e3effa06dcdac7f7613afb8bb
Reviewed-by: Luca Di Sera <luca.disera@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes QTBUG-116770. This moves m_aspectEngine to the correct thread
when it's created in Scene3DItem. And prevents processNodes from
being called on the wrong thread.
[ChangeLog] Fix Race Condition in NodePostConstructorInit::processNodes
Fixes: QTBUG-116770
Pick-to: 6.6 6.5
Change-Id: Iaf47ffd99ab6f920559b596a9baa8c253c135e40
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
|
|
| |
Since the ranges to copy overlap, memcpy isn't safe to use, memmove is.
Task-number: QTBUG-117065
Pick-to: 6.6 6.5
Change-Id: Ib4197f35c919b24ce229def0f5e154221d22357f
Reviewed-by: Mike Krus <mike.krus@kdab.com>
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The \generate list names are added for each categorized section with
some explanation. Here, calling the overviews as
explanations-(name of the section). The idea is to give general terms
instead of specific phrases like 'core' etc, for better understanding.
Task-number: QTBUG-115347
Pick-to: 6.5 6.6
Change-Id: I4a1c6da83fe7c56c4accc263a6380a34068b08f0
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
The Qt3DCore module documentation uses incorrect capitalization for its
CMake package name. Use capitalization from the `qt_internal_add_module`
call in `qt3d.git/src/core/CMakeLists.txt`.
Fixes: QTBUG-116229
Pick-to: 6.6 6.5
Change-Id: If6f68088cc6559cb252b7cf46f2b96c7e4557c3c
Reviewed-by: Andreas Eliasson <andreas.eliasson@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
This disables the 3-arg QObject::connect() overload:
QObject::connect(sender, signal, functor)
For details see:
https://lists.qt-project.org/pipermail/development/2023-July/044141.html
Change-Id: If62d07f687d9ea86995ea813add49216ccaf15cc
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The autogenerated list of overviews was adding the \group command which
included all the groups instead of overviews.
The idea here is to categorize the overviews later on once we have
the list of all overviews.
Task-number: QTBUG-114762
Change-Id: I3cf53886be277abc86b5ec54d399cd6933fbe882
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Kai Köhne <kai.koehne@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit dee62f491a761cc860e5377746264d9e2990eca2.
Adding the manual tests as 'exampledirs' makes QDoc parse the example
documentation and also adds broken entries to the examples-manifest.xml.
We do not want the examples from /tests to generate documentation or
appear in Qt Creator. Revert the change, and address the QDoc warnings
that this commit tried to fix by other means.
Pick-to: 6.5
Change-Id: I848344ae0836e341fabda5b740162b0015f6baf1
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Andreas Eliasson <andreas.eliasson@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Some of the examples were moved from the examples dir to the tests dir
to reduce maintenance. After this move, however, qdoc cannot find the
examples.
Pick-to: 6.5
Change-Id: Ie67d83c695504901fced4a85293ad344beafeead
Reviewed-by: Andreas Eliasson <andreas.eliasson@qt.io>
|
|
|
|
|
| |
Change-Id: Id7ac8d7d729ded4e4a51b0141f0eb14b18d7a6ab
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
|
|
|
|
|
|
|
| |
Except in examples
Pick-to: 6.5
Change-Id: I31b06ddfc79f14dde3369518a76d57606daf939f
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
| |
Those have been moved to manual tests
Pick-to: 6.5
Change-Id: Ifede716b69b003c7523ae21ee5f9668dbad6f5a3
Reviewed-by: Kai Köhne <kai.koehne@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Commit 00d139e3 moved both images from examples to tests/manual.
This resulted in qdoc not finding the image anymore:
Warning: The file C:/dev/qt/dev/msvc-2022-amd64/qtbase/doc/qt3d/images/shadowmapping-depth.png does not exist, skipping it...
Warning: The file C:/dev/qt/dev/msvc-2022-amd64/qtbase/doc/qt3d/images/shadowmapping-qt3d.png does not exist, skipping it...
Fix this by adding a copy of the files todoc/qt3d/images.
Since this is an identical copy, git should be clever enough
to not duplicate the actual content.
Pick-to: 6.5
Change-Id: I6e2b753946d8195e008ce812f107ce72db41a32c
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
| |
It causes clashes in CMake Unity (Jumbo) builds
(3DCore::QBufferPrivate vs QBufferPrivate).
Pick-to: 6.5
Task-number: QTBUG-109394
Change-Id: Ibb8a8f37b5da3531daeca1d82aef892d253ece7f
Reviewed-by: Inho Lee <inho.lee@qt.io>
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
|
|
|
|
|
|
|
|
|
| |
Those are left overs from the Qt 5.15 to Qt 6 port. Now that both
code based have diverged, there's no much point in keeping those
checks.
Pick-to: 6.5
Change-Id: I4e83876b6b4cb18b181af32e376f4411054a1183
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead, simply use whatever is available from the compiler.
This also does away with the separation between Matrix4x4_SSE and
Matrix4x4_AVX2. The two classes store the data the same way and are
source-compatible; they just operate differently. This also allows for
an AVX2-enabled Qt3DRenderer to link to and run with a non-AVX Qt3DCore.
Change-Id: I76216ced393445a4ae2dfffd172a512266b2414d
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
qsimd_p.h doesn't like when you compile with just -mavx2. I guess no one
is using these flags except me, and I already set the full arch in
CFLAGS.
Qt 6.4 calls x86-64-v3 "arch haswell". Will be fixed in 6.5.
Drive-by remove the AVX512 bits that weren't in use.
Pick-to: 6.4
Change-Id: I76216ced393445a4ae2dfffd172a4f5684351514
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Mike Krus <mike.krus@kdab.com>
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
| |
Change the variable type from int to qsizetype when receiving qsizetype
values.
Change-Id: I2adf71e1d2f26b1452fee28890c0f68300f54224
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In several places, std::make_move_iterator was used to move from a const
vector, which is not possible and fell back to copy.
Use the existing Qt3DCore::moveAtEnd utility to ensure a move operation
is actually happening.
* When readability permits, pass directly a return value as second
parameter;
* Otherwise, std::move from a mutable vector.
Change-Id: I56c8925bbdeab95257d0a7fa89cffcda53fd6451
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
| |
The multithreaded job doesn't check the visited bounding volumes for
validity before adding them to the list to process further. This leads
to crashes, namely nullptr-dereferences.
Fixes: QTBUG-108405
Pick-to: 6.4
Change-Id: I16a7c008c7ac4f04be40bdbba05d8c745c1c825e
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We've been requiring C++17 since Qt 6.0, and our qAsConst use finally
starts to bother us (QTBUG-99313), so time to port away from it
now.
Since qAsConst has exactly the same semantics as std::as_const (down
to rvalue treatment, constexpr'ness and noexcept'ness), there's really
nothing more to it than a global search-and-replace.
Task-number: QTBUG-99313
Change-Id: I1b3c7c4058726c55199fd8ba74b6d6890ad8dd93
Reviewed-by: Mike Krus <mike.krus@kdab.com>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a semantic patch using ClangTidyTransformator as in
qtbase/df9d882d41b741fef7c5beeddb0abe9d904443d8, but extended to
handle typedefs and accesses through pointers, too:
const std::string o = "object";
auto hasTypeIgnoringPointer = [](auto type) { return anyOf(hasType(type), hasType(pointsTo(type))); };
auto derivedFromAnyOfClasses = [&](ArrayRef<StringRef> classes) {
auto exprOfDeclaredType = [&](auto decl) {
return expr(hasTypeIgnoringPointer(hasUnqualifiedDesugaredType(recordType(hasDeclaration(decl))))).bind(o);
};
return exprOfDeclaredType(cxxRecordDecl(isSameOrDerivedFrom(hasAnyName(classes))));
};
auto renameMethod = [&] (ArrayRef<StringRef> classes,
StringRef from, StringRef to) {
return makeRule(cxxMemberCallExpr(on(derivedFromAnyOfClasses(classes)),
callee(cxxMethodDecl(hasName(from), parameterCountIs(0)))),
changeTo(cat(access(o, cat(to)), "()")),
cat("use '", to, "' instead of '", from, "'"));
};
renameMethod(<classes>, "count", "size");
renameMethod(<classes>, "length", "size");
a.k.a qt-port-to-std-compatible-api V4 with config Scope: 'Container'.
Change-Id: I3b040fa72968753048fd669c073ae80c3ba1bdad
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a semantic patch using ClangTidyTransformator to convert
sequences of Q_UNREACHABLE() + return into Q_UNREACHABLE_RETURN(),
newly added to qtbase.
const std::string unr = "unr", val = "val", ret = "ret";
auto makeUnreachableReturn = cat("Q_UNREACHABLE_RETURN(",
ifBound(val, cat(node(val)), cat("")),
")");
auto ignoringSwitchCases = [](auto stmt) {
return anyOf(stmt, switchCase(subStmt(stmt)));
};
makeRule(stmt(ignoringSwitchCases(stmt(isExpandedFromMacro("Q_UNREACHABLE")).bind(unr)),
nextStmt(returnStmt(optionally(hasReturnValue(expr().bind(val)))).bind(ret))),
{changeTo(node(unr), cat(makeUnreachableReturn,
";")), // TODO: why is the ; lost w/o this?
changeTo(node(ret), cat(""))},
cat("use ", makeUnreachableReturn));
a.k.a qt-use-unreachable-return.
subStmt() and nextStmt() are non-standard matchers.
Change-Id: I3855b2dc8523db1ea860f72ad9818738162495c6
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
|
|
|
|
|
|
|
|
|
| |
The header file is used in multiple places without guards, assume it
should be added to a source and an install tree unconditionally.
Task-number: QTBUG-103196
Change-Id: I4076b870c43e5dde16edf857cb9c4df3e335d90d
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QDoc generates automatic lists of elements for some of its pages that
represent entities that might contain a series of related elements.
In particular, "\module", "\qmlmodule", "\group" and "\example".
Due to recent changes to QDoc, usages of "\noautolist" in comment-blocks
that do not represent one of those topics, that is, where the command
has no meaning, will now produce a warning.
4 incorrect usages of the command were found in
"src/core/doc/src/qt3d-module.qdoc", where they were used under a
"\page" comment-block.
Further to being under an incorrect topic, all 4 usages where under
the same comment-block but, as "\noautolist" ties to the entire block
and its topic, multiple usages of the command are never meaningful even
if under a correct topic.
To avoid increasing the warning count, possibly resulting in future CI
failures, the "\noautolist" instances were removed.
Change-Id: I95345e43b55372907342b5d8319eb1074e524e13
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-105718
Change-Id: I97fa27f60a8546ea3d73cc7daf1b728c615a1ab0
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This basically reverts a2b5b5c8f6e09ccfaca8044b34f4d9675c3be14a.
The global thread pool is also available to the user and by changing
the max thread count to something lower than the default, already
running threads get stopped, which can cause segfaults.
Pick-to: 5.15 6.2 6.3 6.4
Fixes: QTBUG-104593
Change-Id: I21fea3137ea72b3336bc67499f9ee2f846e18845
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
| |
Since implementation was removed in Qt 6.
Pick-to: 6.4 6.3 6.2
Change-Id: Ia2ca6a88bdb7d4fd02801ce8fac99cda3f39d102
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
|
|
|
|
|
|
|
|
| |
The name of Property is OrbitCameraController::zoomInLimit.
Pick-to: 6.4 6.3 6.2
Change-Id: Id28e5a2dbc8b67ff5fc6e69fdddfc1f4ca03df42
Reviewed-by: Tasuku Suzuki <tasuku.suzuki@signal-slot.co.jp>
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
|
| |
The correct Effect's property name is 'techniques'.
Pick-to: 6.4 6.3 6.2
Change-Id: I14806196d5972e0de4b66715b680c73813a7725b
Reviewed-by: Tasuku Suzuki <tasuku.suzuki@signal-slot.co.jp>
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
CMakeLists.txt and .cmake files of significant size
(more than 2 lines according to our check in tst_license.pl)
now have the copyright and license header.
Existing copyright statements remain intact
Task-number: QTBUG-88621
Change-Id: I141f5077ae0c11e1058de64d573ca33e2a308ccd
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-103286
Pick-to: 6.3 6.2 5.15
Change-Id: Ifca1713c5e2f3582788a8f0537621e166bda4492
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Replace the current license disclaimer in files by
a SPDX-License-Identifier.
License files are organized under LICENSES directory.
Pick-to: 6.4
Task-number: QTBUG-67283
Change-Id: I8105424281eed871037fa6c463871ca8829876b5
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
These popped up on a developer build of the newest dev branch.
I don't know whether there's been header refactoring churn
or whether the devs and CI use pch, but I certainly couldn't
build without these fixes, on Linux with GCC 11.
Pick-to: 6.3 6.2
Change-Id: Ic3529a33f4bc5c339b22c523d0be811ffb977c06
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add missing Building with Cmake section. This module landing page
differs from other landing pages in that it contains information on how
to use its subdirectories.
Task-number: QTBUG-100369
Pick-to: 6.3
Change-Id: I9fa2a94a11790faf94b48e64b399ffa72fc7eade
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
See script in qtbase/util/includeprivate for the rules.
Since these files are being touched anyway, I also ran the
updatecopyright.pl script too.
Change-Id: Ib056b47dde3341ef9a52ffff13ef677e471674b6
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
|
|
|
|
| |
Make the qt3d-simd-avx2 feature dependent on the avx2 feature.
Pick-to: 6.2 6.3
Fixes: QTBUG-101176
Change-Id: Id056f383a4781dc4318b985631ebee46bb4b7961
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Qt Creator
Pick-to: 6.3
Fixes: QTBUG-100648
Change-Id: I6c98ea8091002a72a8ef393c0b7331fb44eb80e0
Reviewed-by: Kimmo Leppälä <kimmo.leppala@qt.io>
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is the workaround of QTBUG-86533. The Qt6::Concurrent target
needs to be added to the
IMPORTED_LINK_DEPENDENT_LIBRARIES_RELWITHDEBINFO property of the
exported Qt::3DCore target. This doesn't happen bacause
Qt6::Concurrent is INTERFACE_LIBK_LIBRARY propagted by versionless
Qt::Concurrent target. Qt::3DCore links Qt::Concurrent only and due
to the issue in CMake, CMake skips adding Qt6::Concurrent to the
IMPORTED_LINK_DEPENDENT_LIBRARIES_RELWITHDEBINFO list.
The workaround propagates the Qt::Concurrent to the Qt::3DCore
consumers explixitly as the interface link library.
Change-Id: I5ecbc1c9c695bd2ce6022f123ff1496cce3ff32a
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
(cherry picked from commit c11447185bcfd33d9edbc9508d6de066c62c3e60)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
| |
The command-pair was recently deprecated.
The replacement code should produce an output that is equal to the
previous one.
Task-number: QTBUG-98499
Change-Id: I31a7cf8cb29e76dd73b676039b87c108af1bd1af
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
That's too clever, and it backfires with compilation errors in C++20
mode:
qt3d/tests/auto/render/meshfunctors/tst_meshfunctors.cpp:129:29: error: ambiguous overload for ‘operator==’ (operand types are ‘MeshFunctorA’ and ‘MeshFunctorB’)
129 | QVERIFY(!(*functorA == *functorB));
| ~~~~~~~~~ ^~ ~~~~~~~~~
| | |
| MeshFunctorA MeshFunctorB
qt3d/tests/auto/render/meshfunctors/tst_meshfunctors.cpp:72:10: note: candidate: ‘virtual bool MeshFunctorB::operator==(const Qt3DCore::QGeometryFactory&) const’ (reversed)
72 | bool operator ==(const Qt3DCore::QGeometryFactory &other) const override
| ^~~~~~~~
qt3d/tests/auto/render/meshfunctors/tst_meshfunctors.cpp:50:10: note: candidate: ‘virtual bool MeshFunctorA::operator==(const Qt3DCore::QGeometryFactory&) const’
50 | bool operator ==(const Qt3DCore::QGeometryFactory &other) const override
| ^~~~~~~~
Fix by providing a symmetric operator== for QGeometryFactory that
delegates to a virtual equals() method.
Pick-to: 6.2 5.15
Change-Id: I23d29ad1b16075629132f2b4757c5810d5615a36
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|