Property binding system: Fix developer build with MSVC 2019 (16.4.1)
- Fix wrong forward declaration
- De-inline constructor of QUntypedPropertyBinding(), fixing:
qtbase\include/src/corelib/tools/qshareddata.h(184): error C2027: use of undefined type 'QPropertyBindingPrivate'
qtbase\include/src/corelib/kernel/qpropertyprivate.h(60): note: see declaration of 'QPropertyBindingPrivate'
qtbase\include/src/corelib/tools/qshareddata.h(184): note: while compiling class template member function 'QExplicitlySharedDataPointer<QPropertyBindingPrivate>::~QExplicitlySharedDataPointer(void)'
qtbase\src\corelib\kernel\qproperty.h(143): note: see reference to function template instantiation 'QExplicitlySharedDataPointer<QPropertyBindingPrivate>::~QExplicitlySharedDataPointer(void)' being compiled
qtbase\src\corelib\kernel\qproperty.h(142): note: see reference to class template instantiation 'QExplicitlySharedDataPointer<QPropertyBindingPrivate>' being compiled
qtbase\include\/src/corelib/tools/qshareddata.h(184): warning C4150: deletion of pointer to incomplete type 'QPropertyBindingPrivate'; no destructor called
qtbase\include\/src/corelib/kernel/qpropertyprivate.h(60): note: see declaration of 'QPropertyBindingPrivate'
Amends 9f9049b486.
Change-Id: Idd613e2487d5ab7f8ead74747acd976d5d210c28
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
bb10
parent
0dcdfc1ee4
commit
749e37efc5
|
|
@ -122,7 +122,7 @@ public:
|
|||
// already has.
|
||||
using BindingEvaluationFunction = std::function<BindingEvaluationResult(int version, void *propertyStoragePtr)>;
|
||||
|
||||
QUntypedPropertyBinding() = default;
|
||||
QUntypedPropertyBinding();
|
||||
QUntypedPropertyBinding(BindingEvaluationFunction function, const QPropertyBindingSourceLocation &location);
|
||||
QUntypedPropertyBinding(QUntypedPropertyBinding &&other);
|
||||
QUntypedPropertyBinding(const QUntypedPropertyBinding &other);
|
||||
|
|
@ -337,7 +337,7 @@ private:
|
|||
Q_DISABLE_COPY(QProperty)
|
||||
|
||||
friend struct QPropertyBasePointer;
|
||||
friend struct QPropertyBinding<T>;
|
||||
friend class QPropertyBinding<T>;
|
||||
friend struct QPropertyObserver;
|
||||
// Mutable because querying for the value may require evalating the binding expression, calling
|
||||
// non-const functions on QPropertyBase.
|
||||
|
|
|
|||
|
|
@ -89,6 +89,8 @@ bool QPropertyBindingPrivate::evaluateIfDirtyAndReturnTrueIfValueChanged()
|
|||
return changed;
|
||||
}
|
||||
|
||||
QUntypedPropertyBinding::QUntypedPropertyBinding() = default;
|
||||
|
||||
QUntypedPropertyBinding::QUntypedPropertyBinding(QUntypedPropertyBinding::BindingEvaluationFunction function,
|
||||
const QPropertyBindingSourceLocation &location)
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue