summaryrefslogtreecommitdiffstats
path: root/src/core
Commit message (Collapse)AuthorAgeFilesLines
* Change license for snippets and examples filesLucie Gérard2024-04-171-1/+1
| | | | | | | | | | | | 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>
* Mark the whole repo with QT_NO_CONTEXTLESS_CONNECTAhmad Samir2024-02-281-2/+0
| | | | | | | | | | 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>
* Doc: Fully qualify \property, \qmlproperty, \typedef, \enumLuca Di Sera2024-02-138-38/+38
| | | | | | | | | | | 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>
* build system: fix unity buildsTim Blechmann2024-02-071-0/+2
| | | | | | | | | | | | | | 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>
* QAspectManager: avoid a temporary listAurélien Brooke2024-01-221-8/+5
| | | | | Change-Id: Ic3f9115a9d55038b3d8901b894d662164e8a79bc Reviewed-by: Mike Krus <mike.krus@kdab.com>
* QBackendNode: fix a small typoAurélien Brooke2024-01-181-1/+1
| | | | | Change-Id: I932571833ae612f635178189b3302f54bb15351c Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Fix the creation of backend nodes if using the parent entity constructorAurélien Brooke2024-01-151-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Readability: use empty() instead of size() to check for emptinessAurélien Brooke2024-01-131-2/+2
| | | | | Change-Id: Icd578efe70a9bdaf5ffbd5c8e9500c370d655cc0 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* QEntity: fix a std::move-from-const in destructorAurélien Brooke2024-01-131-1/+1
| | | | | | | | | | 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>
* Doc: Fix \fn template arguments for Qt 3DTopi Reinio2023-11-272-2/+2
| | | | | | | | | 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>
* Fix Race Condition in NodePostConstructorInit::processNodesPhilip Schuchardt2023-10-102-2/+6
| | | | | | | | | | | | | 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>
* AspectCommandDebugger::trim: use memmove instead of memcpyPaul Lemire2023-10-021-3/+3
| | | | | | | | | | 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>
* Doc: All overviews list categorizationJaishree Vyas2023-09-071-1/+1
| | | | | | | | | | | | 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>
* Doc: Use correct module namePaul Wicking2023-08-211-1/+1
| | | | | | | | | | | 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>
* Build with QT_NO_CONTEXTLESS_CONNECTAhmad Samir2023-07-223-8/+11
| | | | | | | | | | | 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>
* Doc: List of all Qt overviews which are now termed as explanationJaishree Vyas2023-07-191-1/+1
| | | | | | | | | | | | 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>
* Revert "Doc: Add tests/manual in exampledirs to fix broken links"Topi Reinio2023-04-291-2/+1
| | | | | | | | | | | | | | | | 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>
* Doc: Add tests/manual in exampledirs to fix broken linksAndreas Eliasson2023-03-221-1/+2
| | | | | | | | | | 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>
* Doc: Remove unused imagedirsKai Köhne2023-03-201-9/+1
| | | | | Change-Id: Id7ac8d7d729ded4e4a51b0141f0eb14b18d7a6ab Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Remove qmake build filesMike Krus2023-03-1710-262/+0
| | | | | | | | Except in examples Pick-to: 6.5 Change-Id: I31b06ddfc79f14dde3369518a76d57606daf939f Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Remove links to old examplesMike Krus2023-03-171-5/+1
| | | | | | | | Those have been moved to manual tests Pick-to: 6.5 Change-Id: Ifede716b69b003c7523ae21ee5f9668dbad6f5a3 Reviewed-by: Kai Köhne <kai.koehne@qt.io>
* Doc: Fix missing imagesKai Köhne2023-03-122-0/+0
| | | | | | | | | | | | | | | | 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>
* 3DCore: Remove using namespace Qt3DCoreFriedemann Kleint2023-02-106-9/+12
| | | | | | | | | | | 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>
* Remove Qt6 QT_VERSION checks from the code basePaul Lemire2023-02-102-9/+0
| | | | | | | | | | 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>
* 3DCore: rip away the configure option and static choice of SIMDThiago Macieira2023-01-1915-257/+77
| | | | | | | | | | | | 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>
* Qt3DCore: update AVX2 code to mean x86-64-v3Thiago Macieira2023-01-191-5/+1
| | | | | | | | | | | | | | | | 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>
* Remove qsizetype to int narrowing conversionsAurélien Brooke2022-12-213-5/+5
| | | | | | | | Change the variable type from int to qsizetype when receiving qsizetype values. Change-Id: I2adf71e1d2f26b1452fee28890c0f68300f54224 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Fix incorrect usages of std::make_move_iteratorAurélien Brooke2022-12-192-7/+5
| | | | | | | | | | | | | | 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>
* check bounding volumes for validity in concurrent reduction stepChristian Riggenbach2022-12-151-3/+5
| | | | | | | | | | | 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>
* Port from qAsConst() to std::as_const()Marc Mutz2022-10-207-16/+16
| | | | | | | | | | | | | | | 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>
* Port from container::count() and length() to size() - V4Marc Mutz2022-10-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Port to new Q_UNREACHABLE_RETURN()Marc Mutz2022-10-203-10/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Add vector_helper_p.h to sources unconditionallyAlexey Edelev2022-09-081-1/+1
| | | | | | | | | | 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>
* Doc: Remove incorrect "\noautolist" usagesLuca Di Sera2022-09-021-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Change the license of all CMakeLists.txt and *.cmake files to BSDLucie Gérard2022-08-244-4/+4
| | | | | | | 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>
* Start using a dedicated QThreadPool again instead of a global oneDominik Holland2022-08-231-1/+1
| | | | | | | | | | | | | 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>
* QThreadPooler: remove maxThreadCount prototypePaul Lemire2022-07-181-2/+0
| | | | | | | | 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>
* Doc: Fix typo OrbitCameraController::zoomInLimitYAMAMOTO Atsushi2022-07-131-1/+1
| | | | | | | | | 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>
* Doc: Fix typo in \code blockYAMAMOTO Atsushi2022-07-131-1/+1
| | | | | | | | | 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>
* Add license headers to cmake filesLucie Gérard2022-07-084-0/+12
| | | | | | | | | | | | | 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>
* Qt3DCore: includemocsMike Krus2022-06-2231-0/+64
| | | | | | | Task-number: QTBUG-103286 Pick-to: 6.3 6.2 5.15 Change-Id: Ifca1713c5e2f3582788a8f0537621e166bda4492 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Use SPDX license identifiersLucie Gérard2022-06-22175-6388/+352
| | | | | | | | | | | 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>
* Fix missing includesVille Voutilainen2022-05-171-0/+1
| | | | | | | | | | | 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>
* Doc: Revise Qt3D module landing pageAndreas Eliasson2022-03-152-20/+93
| | | | | | | | | | | | 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>
* Make sure all private headers include at least one otherThiago Macieira2022-03-0814-20/+24
| | | | | | | | | | 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>
* Avoid enabling qt3d-simd-avx2 if avx feature is disabled in qtbaseAlexey Edelev2022-02-241-0/+1
| | | | | | | | | 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>
* Do not highlight Planets and Advanced custom material QML example anymore in ↵Zhang Hao2022-02-161-4/+0
| | | | | | | | | | 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>
* Move Qt::Concurrent to the PUBLIC link sectionAlexey Edelev2021-12-201-1/+1
| | | | | | | | | | | | | | | | | | 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>
* Doc: Replace use of \oldcode-\newcodeLuca Di Sera2021-11-251-3/+5
| | | | | | | | | | | 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>
* QGeometryFactory: don't make op== virtualMarc Mutz2021-11-171-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | 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>