summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel/qbindingstorage.h
Commit message (Collapse)AuthorAgeFilesLines
* QThread: Clean up bindingStatusOrList if object gets deletedFabian Kosmale2022-07-141-0/+1
| | | | | | | | | | | | Deal with the case that the object gets deleted between a call to moveToThread and the start of the thread by removing the object from the list in that case. Fixes: QTBUG-104014 Pick-to: 6.4 Change-Id: Ib249b6e8e8dfbc4d1332bb99a57fa9d3cff16465 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Avoid misleading bindingStatusAllan Sandfeld Jensen2022-06-201-1/+1
| | | | | | | | | | | Set it to nullptr on clear, and deal with possibly null bindingStatus. Task-number: QTBUG-101177 Task-number: QTBUG-102403 Pick-to: 6.4 Change-Id: I66cb4d505a4f7b377dc90b45ac13834fca19d399 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Use SPDX license identifiersLucie Gérard2022-05-161-38/+2
| | | | | | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. Files that have to be modified by hand are modified. License files are organized under LICENSES directory. Task-number: QTBUG-67283 Change-Id: Id880c92784c40f3bbde861c0d93f58151c18b9f1 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* QProperty: fix threading issuesFabian Kosmale2022-03-101-0/+8
| | | | | | | | | | | | | | | | | | | | QObject's cache the binding status pointer to avoid TLS lookups. However, when an object is moved to a different thread, we need to update the cached pointer (as the original thread might stop and thus no longer exist, and to correctly allow setting up bindings in the object's thread). Fix this by also storing the binding status in QThreadPrivate and updating the object's binding status when moved. This does only work when the thread is already running, though. If it is not running, we instead treat the QThreadPrivate's status pointer as a pointer to a vector of pending objects. Once the QThread has been started, we check if there are pending objects, and update them at this point. Pick-to: 6.2 6.3 Fixes: QTBUG-101177 Change-Id: I0490bbbdc1a17cb5f85044ad6eb2e1a8c759d4b7 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Move QBindingStorage methods marked for removal to removed_apiSona Kurazyan2022-02-161-1/+5
| | | | | | | | From the API review. Pick-to: 6.3 Change-Id: I676ff811a3b3d43ebcbee78ed0210d669d642947 Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* Extract Header qbindingstorage.hMarc Mutz2021-11-041-0/+117
QBindingStorage doesn't depend in-size on much else in qproperty.h, but is used in-size in qobject.h, thus requiring qobject.h to include qproperty.h. As a first step, move the class and the bits it actually depends on, to a separate header file, qbindingstorage.h, and, for now, just include that from qproperty.h. The end goal here is to make qobject.h independent of qproperty.h. Pick-to: 6.2 Change-Id: I44245a5e57473067e3106d1fd70bf2d744ce0a5f Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>