Go to file
Marc Mutz 968250ee14 QMetaProperty: add write() overload taking rvalue QVariant
The existing overload unconditionally copies the QVariant, causing it
to unconditional detach in most cases (when calling data() later).

The rvalue overload need not preserve the source object, so doesn't
need to copy.

Implement the lvalue overload in terms of the rvalue one, but keep the
sanity check in both to avoid copying the QVariant just to find that
there's nothing to do.

Following the copy, there were some references to the source object,
but they can all be replaced by references to the target object
instead, which hasn't been touched by then, yet.

[ChangeLog][QtCore][QMetaProperty] Added write() overload taking an
rvalue QVariant.

Fixes: QTBUG-112762
Change-Id: I0a8a91aa32143f071ebc8dae8f1f64b07fad9764
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2023-04-28 17:37:30 +00:00
.github/workflows Repair github action workflow 2021-11-10 18:57:33 +01:00
bin Add simple project generation based on existing source files 2023-02-08 12:59:19 +01:00
cmake CMake: Fully rebuild dirty configure-time executables 2023-04-26 20:09:38 +02:00
coin COIN: Add initial set of Debian packaging instructions 2023-04-19 17:11:34 +03:00
config.tests Rid of 'special case' markers 2023-04-13 18:30:58 +02:00
dist Add Qt 6.0.0 changes file 2020-11-16 10:02:08 +02:00
doc Rid of 'special case' markers 2023-04-13 18:30:58 +02:00
examples Rework imagescaling example to avoid potential crashes 2023-04-26 19:27:30 +02:00
lib Purge all fonts 2015-08-18 19:59:14 +00:00
libexec Pass native path in qt-internal-configure-tests 2023-04-17 23:32:34 +02:00
LICENSES Clarify license of SHA-1 algorithm 2023-04-26 16:36:18 +02:00
mkspecs qmake: Fix infinite make loop if RESOURCES contains nonexistent .qrc 2023-04-17 23:32:34 +02:00
qmake qmake: Don't add dummy empty.lproj localization to macOS bundles 2023-04-20 20:11:02 +02:00
src QMetaProperty: add write() overload taking rvalue QVariant 2023-04-28 17:37:30 +00:00
tests Correct Julian Day numbers in 1800 2023-04-28 16:13:32 +02:00
util Pack languageCodeList tighter 2023-03-15 19:48:30 +01:00
.cmake.conf Centralize copyright information for Qt 2023-03-20 13:03:44 +01:00
.gitattributes Give batch files CRLF line endings 2020-11-04 15:02:29 +00:00
.gitignore git: ignore ._* files 2023-03-28 10:44:57 +02:00
.lgtm.yml Skip LGTM analysis for the bootstrap library and tools 2020-07-16 01:04:34 +02:00
.tag Update the git-archive export options 2012-09-07 15:39:31 +02:00
CMakeLists.txt Introduce the qt_internal_project_setup macro 2023-04-24 14:20:25 +02:00
conanfile.py Conan: Do not force 'qt_host_path' usage in cross-build context 2022-06-22 18:18:42 +03:00
config_help.txt SQL plugins: add mimer to the help text 2023-04-18 05:32:34 +08:00
configure Retrieve an old -redo behavior 2023-02-07 18:51:58 +00:00
configure.bat Retrieve an old -redo behavior 2023-02-07 18:51:58 +00:00
configure.cmake Rid of 'special case' markers 2023-04-13 18:30:58 +02:00
dependencies.yaml Re-add dependencies.yaml now that qt5.git wip/qt6 builds fine 2019-09-18 13:19:31 +02:00
qt_cmdline.cmake Rid of 'special case' markers 2023-04-13 18:30:58 +02:00
sync.profile Fix capitalization error in auto-generated qdbusmacros.h include 2023-04-26 13:47:43 +00:00