[Bf-blender-cvs] [28e6a8414a7] blender-v3.4-release: Revert "Fix T102571: Can't stop audio playback when using multiple windows"

Richard Antalik noreply at git.blender.org
Wed Dec 14 22:45:53 CET 2022


Commit: 28e6a8414a74c9723e8aaf154e05c2ec5c9f2746
Author: Richard Antalik
Date:   Wed Dec 14 18:24:50 2022 +0100
Branches: blender-v3.4-release
https://developer.blender.org/rB28e6a8414a74c9723e8aaf154e05c2ec5c9f2746

Revert "Fix T102571: Can't stop audio playback when using multiple windows"

This reverts commit 42b51bf6a91acd055d34e31c06c9dff46b0aac1b.

Commit caused crash when playback is stopped, see T103008.

===================================================================

M	source/blender/editors/screen/screen_ops.c

===================================================================

diff --git a/source/blender/editors/screen/screen_ops.c b/source/blender/editors/screen/screen_ops.c
index a4e98aa639a..9c0963d0fb1 100644
--- a/source/blender/editors/screen/screen_ops.c
+++ b/source/blender/editors/screen/screen_ops.c
@@ -4812,28 +4812,19 @@ bScreen *ED_screen_animation_no_scrub(const wmWindowManager *wm)
 int ED_screen_animation_play(bContext *C, int sync, int mode)
 {
   bScreen *screen = CTX_wm_screen(C);
+  Scene *scene = CTX_data_scene(C);
+  Scene *scene_eval = DEG_get_evaluated_scene(CTX_data_ensure_evaluated_depsgraph(C));
 
   if (ED_screen_animation_playing(CTX_wm_manager(C))) {
     /* stop playback now */
     ED_screen_animation_timer(C, 0, 0, 0);
-    Main *bmain = CTX_data_main(C);
-    LISTBASE_FOREACH (Scene *, scene, &bmain->scenes) {
-      LISTBASE_FOREACH (ViewLayer *, view_layer, &scene->view_layers) {
-        Depsgraph *graph = BKE_scene_get_depsgraph(scene, view_layer);
-        if (graph) {
-          Scene *scene_eval = DEG_get_evaluated_scene(graph);
-          /* The audio handles are preserved throughout the dependency graph evaluation.
-           * Checking for scene->playback_handle even for non-evaluated scene should be okay. */
-          BKE_sound_stop_scene(scene_eval);
-          WM_event_add_notifier(C, NC_SCENE | ND_FRAME, scene);
-        }
-      }
-    }
+    BKE_sound_stop_scene(scene_eval);
+
+    WM_event_add_notifier(C, NC_SCENE | ND_FRAME, scene);
   }
   else {
     /* these settings are currently only available from a menu in the TimeLine */
     if (mode == 1) { /* XXX only play audio forwards!? */
-      Scene *scene_eval = DEG_get_evaluated_scene(CTX_data_ensure_evaluated_depsgraph(C));
       BKE_sound_play_scene(scene_eval);
     }



More information about the Bf-blender-cvs mailing list