From 336f5fa85cf6ddfd3215ac9e661457e13f06b44e Mon Sep 17 00:00:00 2001 From: jules Date: Tue, 3 Jun 2008 13:03:52 +0000 Subject: [PATCH] --- .../components/windows/juce_ThreadWithProgressWindow.cpp | 7 ++++++- .../gui/components/windows/juce_ThreadWithProgressWindow.h | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/juce_appframework/gui/components/windows/juce_ThreadWithProgressWindow.cpp b/src/juce_appframework/gui/components/windows/juce_ThreadWithProgressWindow.cpp index f699675279..f8cf92dc5b 100644 --- a/src/juce_appframework/gui/components/windows/juce_ThreadWithProgressWindow.cpp +++ b/src/juce_appframework/gui/components/windows/juce_ThreadWithProgressWindow.cpp @@ -66,7 +66,10 @@ bool ThreadWithProgressWindow::runThread (const int priority) startThread (priority); startTimer (100); - alertWindow.setMessage (message); + { + const ScopedLock sl (messageLock); + alertWindow.setMessage (message); + } const bool wasCancelled = alertWindow.runModalLoop() != 0; @@ -84,6 +87,7 @@ void ThreadWithProgressWindow::setProgress (const double newProgress) void ThreadWithProgressWindow::setStatusMessage (const String& newStatusMessage) { + const ScopedLock sl (messageLock); message = newStatusMessage; } @@ -97,6 +101,7 @@ void ThreadWithProgressWindow::timerCallback() } else { + const ScopedLock sl (messageLock); alertWindow.setMessage (message); } } diff --git a/src/juce_appframework/gui/components/windows/juce_ThreadWithProgressWindow.h b/src/juce_appframework/gui/components/windows/juce_ThreadWithProgressWindow.h index ed312aa9f4..bd8493fd85 100644 --- a/src/juce_appframework/gui/components/windows/juce_ThreadWithProgressWindow.h +++ b/src/juce_appframework/gui/components/windows/juce_ThreadWithProgressWindow.h @@ -155,6 +155,7 @@ private: double progress; AlertWindow alertWindow; String message; + CriticalSection messageLock; const int timeOutMsWhenCancelling; ThreadWithProgressWindow (const ThreadWithProgressWindow&);