diff --git a/modules/juce_analytics/destinations/juce_ThreadedAnalyticsDestination.cpp b/modules/juce_analytics/destinations/juce_ThreadedAnalyticsDestination.cpp index da9df139b1..fd492d7a82 100644 --- a/modules/juce_analytics/destinations/juce_ThreadedAnalyticsDestination.cpp +++ b/modules/juce_analytics/destinations/juce_ThreadedAnalyticsDestination.cpp @@ -89,6 +89,8 @@ void ThreadedAnalyticsDestination::EventDispatcher::run() while (! threadShouldExit()) { { + const ScopedLock lock (queueAccess); + const auto numEventsInBatch = eventsToSend.size(); const auto freeBatchCapacity = maxBatchSize - numEventsInBatch; @@ -98,8 +100,6 @@ void ThreadedAnalyticsDestination::EventDispatcher::run() if (numNewEvents > 0) { - const ScopedLock lock (queueAccess); - const auto numEventsToAdd = jmin (numNewEvents, freeBatchCapacity); const auto newBatchSize = numEventsInBatch + numEventsToAdd;