qt5-wayland qt5-declarative rebuild

This commit is contained in:
Rmys
2023-11-11 18:44:25 +03:00
parent 7545e5b80f
commit 46be6d183f
4 changed files with 65 additions and 13 deletions
@@ -269,7 +269,7 @@ index ee31cb38d9..187339169b 100644
bool QQmlData::hasBindingBit(int coreIndex) const
diff --git a/src/qml/qml/qqmlengine.cpp b/src/qml/qml/qqmlengine.cpp
index 852a673ebd..d6b2711c2d 100644
index 852a673ebd..5f3367e4d2 100644
--- a/src/qml/qml/qqmlengine.cpp
+++ b/src/qml/qml/qqmlengine.cpp
@@ -718,18 +718,15 @@ void QQmlPrivate::qdeclarativeelement_destructor(QObject *o)
@@ -306,7 +306,38 @@ index 852a673ebd..d6b2711c2d 100644
return;
auto objectThreadData = QObjectPrivate::get(object)->threadData.loadRelaxed();
@@ -1835,49 +1835,73 @@ void QQmlData::releaseDeferredData()
@@ -1588,17 +1588,22 @@ void qmlExecuteDeferred(QObject *object)
{
QQmlData *data = QQmlData::get(object);
- if (data && !data->deferredData.isEmpty() && !data->wasDeleted(object)) {
- QQmlEnginePrivate *ep = QQmlEnginePrivate::get(data->context->engine);
+ if (!data
+ || !data->context
+ || !data->context->engine
+ || data->deferredData.isEmpty()
+ || data->wasDeleted(object)) {
+ return;
+ }
- QQmlComponentPrivate::DeferredState state;
- QQmlComponentPrivate::beginDeferred(ep, object, &state);
+ QQmlEnginePrivate *ep = QQmlEnginePrivate::get(data->context->engine);
+ QQmlComponentPrivate::DeferredState state;
+ QQmlComponentPrivate::beginDeferred(ep, object, &state);
- // Release the reference for the deferral action (we still have one from construction)
- data->releaseDeferredData();
+ // Release the reference for the deferral action (we still have one from construction)
+ data->releaseDeferredData();
- QQmlComponentPrivate::completeDeferred(ep, &state);
- }
+ QQmlComponentPrivate::completeDeferred(ep, &state);
}
QQmlContext *qmlContext(const QObject *obj)
@@ -1835,49 +1840,73 @@ void QQmlData::releaseDeferredData()
void QQmlData::addNotify(int index, QQmlNotifierEndpoint *endpoint)
{
@@ -406,7 +437,7 @@ index 852a673ebd..d6b2711c2d 100644
}
}
@@ -1961,7 +1985,7 @@ void QQmlData::destroyed(QObject *object)
@@ -1961,7 +1990,7 @@ void QQmlData::destroyed(QObject *object)
guard->objectDestroyed(object);
}