X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fmwindow.C;fp=cinelerra-5.1%2Fcinelerra%2Fmwindow.C;h=8319bfbdead591e94afdb0a1e3ae7f79c87b36d2;hp=4afbd81888f3f67b020d023f8c61dd7d3db5f81e;hb=22c6251d37911a11e322bf7518e6a992ea0bb6c7;hpb=3836e2ca418201dccf1101947269fb26debb3cb4 diff --git a/cinelerra-5.1/cinelerra/mwindow.C b/cinelerra-5.1/cinelerra/mwindow.C index 4afbd818..8319bfbd 100644 --- a/cinelerra-5.1/cinelerra/mwindow.C +++ b/cinelerra-5.1/cinelerra/mwindow.C @@ -4480,26 +4480,20 @@ void MWindow::reset_caches() int locked = gui->get_window_lock(); if( locked ) gui->unlock_window(); awindow->gui->stop_vicon_drawing(1); - frame_cache->remove_all(); - wave_cache->remove_all(); - audio_cache->remove_all(); - video_cache->remove_all(); - if( cwindow->playback_engine ) { - if( cwindow->playback_engine->audio_cache ) - cwindow->playback_engine->audio_cache->remove_all(); - if( cwindow->playback_engine->video_cache ) - cwindow->playback_engine->video_cache->remove_all(); - } + if( cwindow->playback_engine ) + cwindow->playback_engine->create_cache(); for(int i = 0; i < vwindows.size(); i++) { VWindow *vwindow = vwindows[i]; if( !vwindow->is_running() ) continue; if( !vwindow->playback_engine ) continue; - if( vwindow->playback_engine->audio_cache ) - vwindow->playback_engine->audio_cache->remove_all(); - if( vwindow->playback_engine->video_cache ) - vwindow->playback_engine->video_cache->remove_all(); + vwindow->playback_engine->create_cache(); } - if( locked ) gui->lock_window("MWindow::reset_caches"); + gui->lock_window("MWindow::reset_caches"); + frame_cache->remove_all(); + wave_cache->remove_all(); + audio_cache->remove_all(); + video_cache->remove_all(); + if( !locked ) gui->unlock_window(); } void MWindow::remove_from_caches(Indexable *idxbl)