mirror of
https://github.com/OPM/ResInsight.git
synced 2026-10-25 22:50:25 -05:00
Driving caf::ProgressInfo from worker threads inside the OpenMP loop in loadFileSummaryCaseData() marshaled setProgress() to the GUI thread via a queued connection. These updates could be delivered after the ProgressInfo scope had ended and the progress stacks were popped, accessing an empty stack and resurrecting the just-closed dialog stuck at 0% with no way to close it. Only update the progress dialog from the master thread, using an atomic counter for a monotonic progress value, and guard the ProgressInfo mutators against stale updates delivered after the stacks are empty.