diff --git a/mesa/visualization/solara_viz.py b/mesa/visualization/solara_viz.py index 5b907a6fd10..8839d7b730a 100644 --- a/mesa/visualization/solara_viz.py +++ b/mesa/visualization/solara_viz.py @@ -300,6 +300,8 @@ def do_step(): """Advance the model by the number of steps specified by the render_interval slider.""" if playing.value: for _ in range(render_interval.value): + if not running.value: + break model.value.step() running.value = model.value.running if not playing.value: @@ -309,6 +311,8 @@ def do_step(): else: for _ in range(render_interval.value): + if not running.value: + break model.value.step() running.value = model.value.running force_update() @@ -415,6 +419,8 @@ def do_step(): """Advance the model by the number of steps specified by the render_interval slider.""" if playing.value: for _ in range(render_interval.value): + if not running.value: + break simulator.run_for(1) running.value = model.value.running if not playing.value: @@ -424,6 +430,8 @@ def do_step(): else: for _ in range(render_interval.value): + if not running.value: + break simulator.run_for(1) running.value = model.value.running force_update()