From b3b79006d706aec87132eb4dd90053148b7e2c06 Mon Sep 17 00:00:00 2001 From: JCash Date: Mon, 2 Aug 2021 10:10:00 +0200 Subject: [PATCH] Fixed threading issue of checking if command buffer is empty --- extension-iap/src/iap_private.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/extension-iap/src/iap_private.cpp b/extension-iap/src/iap_private.cpp index b6ad5b9..2b90a13 100644 --- a/extension-iap/src/iap_private.cpp +++ b/extension-iap/src/iap_private.cpp @@ -121,13 +121,14 @@ void IAP_Queue_Push(IAPCommandQueue* queue, IAPCommand* cmd) void IAP_Queue_Flush(IAPCommandQueue* queue, IAPCommandFn fn, void* ctx) { assert(fn != 0); + + DM_MUTEX_SCOPED_LOCK(queue->m_Mutex); + if (queue->m_Commands.Empty()) { return; } - DM_MUTEX_SCOPED_LOCK(queue->m_Mutex); - for(uint32_t i = 0; i != queue->m_Commands.Size(); ++i) { fn(&queue->m_Commands[i], ctx);