Qt 6.8.3 with BlackBerry 10 (QNX 8 / ARMv7) patches
 
 
 
 
 
 
Go to file
Tor Arne Vestbø 67b3c40ae2 QFactoryLoader: Prioritize plugin that matches Qt's build config
In debug-and-release builds (on Windows or Apple operating systems),
we will scan for plugin libraries and find both debug and release
versions of these libraries.

However, we do not end up loading both, thanks to additional logic.
On Windows we rely on logic in QLibraryPrivate::updatePluginState()
that uses the IsDebug metadata of the plugin, skipping any mismatch.

On Apple operating systems, there is logic in QFactoryLoaderPrivate's
updateSinglePath that ties to match the `_debug` suffix of the plugin
with the Qt build config.

As the string matching logic for Apple platforms is fragile we want
to remove it, but we can't re-use the logic for Windows, to ensure
we only load a single copy of a plugin, as the Windows logic prevents
_any_ mismatch between plugin config and Qt config, even for non-
debug-and-release builds (due to the Windows runtime being incompatible
between debug and release).

To solve this we add logic to QFactoryLoader to prioritize plugins
based on the Qt build config, similar to how we prioritize plugins
based on their Qt version if we find two or more plugins claiming
the same plugin key.

Change-Id: I772ba8ae79627e39418ba80107e3729bba8f9ac8
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 90773b501795a088762dd540c442a7cd251a5d8e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-06-21 21:23:49 +00:00
.github/workflows
LICENSES SQLite: Update identified license 2024-04-28 12:14:17 +02:00
bin cmake: Override generator for iOS projects to Xcode in qt-cmake.in 2024-03-18 22:34:48 +01:00
cmake CMake: disable the GCC -Wstringop-overread warning-error everywhere 2024-06-20 22:59:09 +00:00
coin coin: CMake: Add instructions to generate JSON and verify the SBOM 2024-06-20 19:29:55 +00:00
config.tests Add copyright and licensing to .cpp and .h files missing them 2024-05-28 09:47:01 +02:00
dist Remove dist/README 2024-02-29 15:35:57 +01:00
doc Android: Update Gradle to 8.7 and Android Gradle Plug-in (AGP) to 8.4.0 2024-05-24 06:37:13 +03:00
examples Widget gallery example: set color scheme before constructing UI 2024-06-11 19:35:30 +00:00
lib
libexec CMake: Allow building all examples as standalone just like tests 2024-03-14 11:44:16 +01:00
mkspecs wasm: remove DEMANGLE_SUPPORT 2024-06-20 12:51:27 +00:00
qmake CMake: Annotate some targets with SBOM information 2024-06-17 15:54:26 +02:00
src QFactoryLoader: Prioritize plugin that matches Qt's build config 2024-06-21 21:23:49 +00:00
tests Skip rendering border for the decoration area of the tree view 2024-06-21 13:34:45 +00:00
util qlocalexml2cpp.py: rework StringData handling of bit-sizes 2024-06-02 15:26:17 +02:00
.cmake.conf Add preliminary support for Qt for visionOS 2024-04-18 05:00:57 +02:00
.gitattributes
.gitignore Git ignore Visual Studio CMake build directories 2023-11-24 23:42:05 +01:00
.lgtm.yml
.tag
CMakeLists.txt cmake: add _extra_files IDE target from heuristics 2024-04-12 08:36:01 +08:00
config_help.txt CMake: Generate an SPDX v2.3 SBOM file for each built repository 2024-06-13 14:55:07 +00:00
configure Change configure license 2024-02-02 15:23:02 +00:00
configure.bat configure.bat: Fix errors on Windows 2024-03-05 11:56:24 +01:00
configure.cmake CMake: Emit the 'msvc_obj_debug_info' feature only when MSVC is used 2024-06-10 22:25:32 +00:00
dependencies.yaml
licenseRule.json Add license exception 2024-04-24 19:02:09 +02:00
qt_cmdline.cmake configure: accept -c++std c++17 again 2024-06-13 20:40:06 +00:00