diff --git a/src/tools/qml2puppet/qml2puppet/instances/qt5nodeinstanceserver.cpp b/src/tools/qml2puppet/qml2puppet/instances/qt5nodeinstanceserver.cpp index 4c163bf69ff..db4199b64a1 100644 --- a/src/tools/qml2puppet/qml2puppet/instances/qt5nodeinstanceserver.cpp +++ b/src/tools/qml2puppet/qml2puppet/instances/qt5nodeinstanceserver.cpp @@ -268,22 +268,15 @@ void Qt5NodeInstanceServer::setPipelineCacheConfig([[maybe_unused]] QQuickWindow #ifdef USE_SHADER_CACHE QtQuick3DEditorHelpers::ShaderCache::setAutomaticDiskCache(false); auto wa = QQuick3DSceneManager::getOrSetWindowAttachment(*w); - connect(wa, &QQuick3DWindowAttachment::renderContextInterfaceChanged, - this, &Qt5NodeInstanceServer::handleRciSet); + connect(wa, &QQuick3DWindowAttachment::renderContextInterfaceChanged, this, [this, wa] { + auto context = wa->rci().get(); + if (context && context->shaderCache()) + context->shaderCache()->persistentShaderBakingCache().load(m_shaderCacheFile); + }); #endif #endif } -void Qt5NodeInstanceServer::handleRciSet() -{ -#ifdef USE_SHADER_CACHE - auto wa = qobject_cast(sender()); - auto context = wa ? wa->rci().get() : nullptr; - if (context && context->shaderCache()) - context->shaderCache()->persistentShaderBakingCache().load(m_shaderCacheFile); -#endif -} - bool Qt5NodeInstanceServer::initRhi([[maybe_unused]] RenderViewData &viewData) { if (!viewData.renderControl) { diff --git a/src/tools/qml2puppet/qml2puppet/instances/qt5nodeinstanceserver.h b/src/tools/qml2puppet/qml2puppet/instances/qt5nodeinstanceserver.h index 9294a064e08..d684046fc5b 100644 --- a/src/tools/qml2puppet/qml2puppet/instances/qt5nodeinstanceserver.h +++ b/src/tools/qml2puppet/qml2puppet/instances/qt5nodeinstanceserver.h @@ -77,8 +77,6 @@ protected: virtual QImage grabRenderControl(RenderViewData &viewData); private: - void handleRciSet(); - RenderViewData m_viewData; QByteArray m_pipelineCacheData; QString m_pipelineCacheLocation;