diff --git a/src/tools/qml2puppet/instances/nodeinstanceclientproxy.cpp b/src/tools/qml2puppet/instances/nodeinstanceclientproxy.cpp index ffafb7bb00e..7b7628e3191 100644 --- a/src/tools/qml2puppet/instances/nodeinstanceclientproxy.cpp +++ b/src/tools/qml2puppet/instances/nodeinstanceclientproxy.cpp @@ -79,6 +79,7 @@ NodeInstanceClientProxy::NodeInstanceClientProxy(QObject *parent) : QObject(parent) , m_inputIoDevice(nullptr) , m_outputIoDevice(nullptr) + , m_localSocket(nullptr) , m_writeCommandCounter(0) , m_synchronizeId(-1) { @@ -101,6 +102,7 @@ void NodeInstanceClientProxy::initializeSocket() m_inputIoDevice = localSocket; m_outputIoDevice = localSocket; + m_localSocket = localSocket; } void NodeInstanceClientProxy::initializeCapturedStream(const QString &fileName) @@ -288,6 +290,8 @@ void NodeInstanceClientProxy::sceneCreated(const SceneCreatedCommand &command) void NodeInstanceClientProxy::flush() { + if (m_localSocket) + m_localSocket->flush(); } void NodeInstanceClientProxy::synchronizeWithClientProcess() diff --git a/src/tools/qml2puppet/instances/nodeinstanceclientproxy.h b/src/tools/qml2puppet/instances/nodeinstanceclientproxy.h index 8015dd01920..46d7eebfe67 100644 --- a/src/tools/qml2puppet/instances/nodeinstanceclientproxy.h +++ b/src/tools/qml2puppet/instances/nodeinstanceclientproxy.h @@ -117,6 +117,7 @@ private: QTimer m_puppetAliveTimer; QIODevice *m_inputIoDevice; QIODevice *m_outputIoDevice; + QLocalSocket *m_localSocket; std::unique_ptr m_nodeInstanceServer; quint32 m_writeCommandCounter; int m_synchronizeId; diff --git a/src/tools/qml2puppet/qml2puppet/instances/qt5bakelightsnodeinstanceserver.cpp b/src/tools/qml2puppet/qml2puppet/instances/qt5bakelightsnodeinstanceserver.cpp index 4287808c8a8..2a1aff912ac 100644 --- a/src/tools/qml2puppet/qml2puppet/instances/qt5bakelightsnodeinstanceserver.cpp +++ b/src/tools/qml2puppet/qml2puppet/instances/qt5bakelightsnodeinstanceserver.cpp @@ -97,10 +97,11 @@ void Qt5BakeLightsNodeInstanceServer::bakeLights() switch (status) { case QQuick3DLightmapBaker::BakingStatus::Progress: case QQuick3DLightmapBaker::BakingStatus::Warning: - case QQuick3DLightmapBaker::BakingStatus::Error: + case QQuick3DLightmapBaker::BakingStatus::Error: { nodeInstanceClient()->handlePuppetToCreatorCommand( - {PuppetToCreatorCommand::BakeLightsProgress, msg.value_or("")}); - break; + {PuppetToCreatorCommand::BakeLightsProgress, msg.value_or("")}); + nodeInstanceClient()->flush(); + } break; case QQuick3DLightmapBaker::BakingStatus::Cancelled: abort(tr("Baking cancelled.")); break;