Prevent crashes when OptiFG is not active

This commit is contained in:
cdozdila
2025-04-29 22:36:43 +03:00
parent 4438c8afeb
commit a067d3afd4
+3 -3
View File
@@ -234,7 +234,7 @@ HRESULT STDMETHODCALLTYPE WrappedIDXGISwapChain4::SetFullscreenState(BOOL Fullsc
if (Config::Instance()->FGUseMutexForSwaphain.value_or_default())
{
if (State::Instance().currentFG->Mutex.getOwner() != 3)
if (State::Instance().currentFG != nullptr && State::Instance().currentFG->Mutex.getOwner() != 3)
{
LOG_TRACE("Waiting ffxMutex 3, current: {}", State::Instance().currentFG->Mutex.getOwner());
State::Instance().currentFG->Mutex.lock(3);
@@ -320,7 +320,7 @@ HRESULT STDMETHODCALLTYPE WrappedIDXGISwapChain4::ResizeBuffers(UINT BufferCount
OwnedLockGuard lock(_localMutex, 1);
#endif
if (Config::Instance()->FGUseMutexForSwaphain.value_or_default())
if (State::Instance().currentFG != nullptr && Config::Instance()->FGUseMutexForSwaphain.value_or_default())
{
LOG_TRACE("Waiting ffxMutex 3, current: {}", State::Instance().currentFG->Mutex.getOwner());
State::Instance().currentFG->Mutex.lock(3);
@@ -425,7 +425,7 @@ HRESULT STDMETHODCALLTYPE WrappedIDXGISwapChain4::ResizeBuffers(UINT BufferCount
LOG_DEBUG("result: {0:X}", (UINT)result);
if (Config::Instance()->FGUseMutexForSwaphain.value_or_default())
if (State::Instance().currentFG != nullptr && Config::Instance()->FGUseMutexForSwaphain.value_or_default())
{
LOG_TRACE("Releasing ffxMutex: {}", State::Instance().currentFG->Mutex.getOwner());
State::Instance().currentFG->Mutex.unlockThis(3);