diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2022-03-03 19:16:39 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey@blender.org> | 2022-03-03 19:21:11 +0300 |
commit | 769ae5c866f32d7a224c141ed4e3e899a54ec150 (patch) | |
tree | 295708d00e235cb86762bdf7c0edac75c1866647 /intern/cycles/session/session.cpp | |
parent | 9c2e385509becf22924293a81470f25a88300b62 (diff) |
Fix T96139: Cycles doesn't warn if the render is paused
Caused by 6ec83afb1db8.
Technically, a regression since 3.0.
Differential Revision: https://developer.blender.org/D14239
Diffstat (limited to 'intern/cycles/session/session.cpp')
-rw-r--r-- | intern/cycles/session/session.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/intern/cycles/session/session.cpp b/intern/cycles/session/session.cpp index 8fcb5c9ac96..54ff7063872 100644 --- a/intern/cycles/session/session.cpp +++ b/intern/cycles/session/session.cpp @@ -123,11 +123,7 @@ void Session::start() void Session::cancel(bool quick) { /* Check if session thread is rendering. */ - bool rendering; - { - thread_scoped_lock session_thread_lock(session_thread_mutex_); - rendering = (session_thread_state_ == SESSION_THREAD_RENDER); - } + const bool rendering = is_session_thread_rendering(); if (rendering) { /* Cancel path trace operations. */ @@ -288,6 +284,12 @@ void Session::thread_render() progress.set_update(); } +bool Session::is_session_thread_rendering() +{ + thread_scoped_lock session_thread_lock(session_thread_mutex_); + return (session_thread_state_ == SESSION_THREAD_RENDER); +} + RenderWork Session::run_update_for_next_iteration() { RenderWork render_work; @@ -570,7 +572,7 @@ void Session::set_pause(bool pause) } } - if (session_thread_) { + if (is_session_thread_rendering()) { if (notify) { pause_cond_.notify_all(); } |