From cb735fb8dfa3ebbe3457a0ccb6e157e42e59041f Mon Sep 17 00:00:00 2001 From: Janik Zikovsky <zikovskyjl@ornl.gov> Date: Thu, 14 Jul 2011 17:48:11 +0000 Subject: [PATCH] Refs #3348: Thread-safe progress updates when rebinning in PV. --- .../ParaViewReaders/EventNexusReader/vtkEventNexusReader.cxx | 2 ++ .../ParaViewReaders/EventNexusReader/vtkEventNexusReader.h | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/Code/Mantid/Vates/ParaviewPlugins/ParaViewReaders/EventNexusReader/vtkEventNexusReader.cxx b/Code/Mantid/Vates/ParaviewPlugins/ParaViewReaders/EventNexusReader/vtkEventNexusReader.cxx index 578f708aa2b..dd24b6ebecd 100644 --- a/Code/Mantid/Vates/ParaviewPlugins/ParaViewReaders/EventNexusReader/vtkEventNexusReader.cxx +++ b/Code/Mantid/Vates/ParaviewPlugins/ParaViewReaders/EventNexusReader/vtkEventNexusReader.cxx @@ -543,6 +543,8 @@ unsigned long vtkEventNexusReader::GetMTime() */ void vtkEventNexusReader::UpdateAlgorithmProgress(double progress) { + progressMutex.lock(); this->SetProgressText("Executing Mantid MDEvent Rebinning Algorithm..."); this->UpdateProgress(progress); + progressMutex.unlock(); } diff --git a/Code/Mantid/Vates/ParaviewPlugins/ParaViewReaders/EventNexusReader/vtkEventNexusReader.h b/Code/Mantid/Vates/ParaviewPlugins/ParaViewReaders/EventNexusReader/vtkEventNexusReader.h index 84623032f7b..237a0c9503c 100644 --- a/Code/Mantid/Vates/ParaviewPlugins/ParaViewReaders/EventNexusReader/vtkEventNexusReader.h +++ b/Code/Mantid/Vates/ParaviewPlugins/ParaViewReaders/EventNexusReader/vtkEventNexusReader.h @@ -6,6 +6,7 @@ #include "MantidVatesAPI/EscalatingRebinningActionManager.h" #include "MantidGeometry/MDGeometry/MDGeometryXMLBuilder.h" #include "MantidVatesAPI/ThresholdRange.h" +#include "MantidKernel/MultiThreaded.h" class vtkImplicitFunction; class VTK_EXPORT vtkEventNexusReader : public vtkUnstructuredGridAlgorithm @@ -156,5 +157,8 @@ private: int m_thresholdMethodIndex; Mantid::VATES::ThresholdRange_scptr m_ThresholdRange; + + /// Mutex for thread-safe progress reporting. + Mantid::Kernel::Mutex progressMutex; }; #endif -- GitLab