diff --git a/LEGO1/lego/legoomni/src/audio/legoloadcachesoundpresenter.cpp b/LEGO1/lego/legoomni/src/audio/legoloadcachesoundpresenter.cpp index 44dba05f..b0d56025 100644 --- a/LEGO1/lego/legoomni/src/audio/legoloadcachesoundpresenter.cpp +++ b/LEGO1/lego/legoomni/src/audio/legoloadcachesoundpresenter.cpp @@ -75,10 +75,12 @@ void LegoLoadCacheSoundPresenter::DoneTickle() MxResult LegoLoadCacheSoundPresenter::PutData() { m_criticalSection.Enter(); + if (m_currentTickleState == e_done) { m_cacheSound = SoundManager()->GetUnknown0x40()->FUN_1003d290(m_cacheSound); m_unk0x7c = 1; } + m_criticalSection.Leave(); return SUCCESS; } diff --git a/LEGO1/lego/legoomni/src/video/legotexturepresenter.cpp b/LEGO1/lego/legoomni/src/video/legotexturepresenter.cpp index 5e35ec18..e2d5211b 100644 --- a/LEGO1/lego/legoomni/src/video/legotexturepresenter.cpp +++ b/LEGO1/lego/legoomni/src/video/legotexturepresenter.cpp @@ -118,7 +118,8 @@ MxResult LegoTexturePresenter::Store() MxResult LegoTexturePresenter::PutData() { MxResult result = SUCCESS; - if (MxPresenter::IsEnabled() && m_currentChunk) { + + if (MxPresenter::IsEnabled() && m_currentChunk != NULL) { result = Read(*m_currentChunk); if (result == SUCCESS) { Store(); @@ -129,6 +130,7 @@ MxResult LegoTexturePresenter::PutData() } m_currentChunk = NULL; } + return result; }