X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fassetpopup.C;h=9eda28d72e521d62e515118400463b5377234b1b;hp=56832ca9100e8e994cbf8e0f5446a2b0783b588e;hb=1db0dacec8f9d7f5687e582bd282d9bf83bd58f0;hpb=9e3d90a964c0fbe97c0b58235336a47111932d5d diff --git a/cinelerra-5.1/cinelerra/assetpopup.C b/cinelerra-5.1/cinelerra/assetpopup.C index 56832ca9..9eda28d7 100644 --- a/cinelerra-5.1/cinelerra/assetpopup.C +++ b/cinelerra-5.1/cinelerra/assetpopup.C @@ -99,19 +99,15 @@ void AssetPopup::create_objects() void AssetPopup::paste_assets() { -// Collect items into the drag vectors for temporary storage - gui->lock_window("AssetPopup::paste_assets"); - mwindow->gui->lock_window("AssetPopup::paste_assets"); - mwindow->cwindow->gui->lock_window("AssetPopup::paste_assets"); - int proxy = mwindow->edl->session->awindow_folder == AW_PROXY_FOLDER ? 1 : 0; gui->collect_assets(proxy); +// Collect items into the drag vectors for temporary storage + gui->unlock_window(); + mwindow->gui->lock_window("AssetPopup::paste_assets"); mwindow->paste_assets(mwindow->edl->local_session->get_selectionstart(1), mwindow->edl->tracks->first, 0); // do not overwrite - - gui->unlock_window(); mwindow->gui->unlock_window(); - mwindow->cwindow->gui->unlock_window(); + gui->lock_window("AssetPopup::paste_assets"); } void AssetPopup::match_size() @@ -302,8 +298,10 @@ AssetPopupBuildIndex::~AssetPopupBuildIndex() int AssetPopupBuildIndex::handle_event() { + popup->unlock_window(); //printf("AssetPopupBuildIndex::handle_event 1\n"); mwindow->rebuild_indices(); + popup->lock_window("AssetPopupBuildIndex::handle_event"); return 1; } @@ -394,9 +392,11 @@ AssetPopupOpenMixer::~AssetPopupOpenMixer() int AssetPopupOpenMixer::handle_event() { + popup->unlock_window(); mwindow->gui->lock_window("AssetPopupOpenMixer::handle_event"); mwindow->create_mixers(); mwindow->gui->unlock_window(); + popup->lock_window("AssetPopupOpenMixer::handle_event"); return 1; } @@ -413,9 +413,11 @@ AssetPopupInsertMixer::~AssetPopupInsertMixer() int AssetPopupInsertMixer::handle_event() { + popup->unlock_window(); mwindow->gui->lock_window("AssetPopupInsertMixer::handle_event"); mwindow->create_mixers(-1); mwindow->gui->unlock_window(); + popup->lock_window("AssetPopupInsertMixer::handle_event"); return 1; } @@ -951,8 +953,8 @@ int SnapshotMenuItem::handle_event() command.realtime = 0; RenderEngine render_engine(0, preferences, 0, 0); - CICache video_cache(preferences); - render_engine.set_vcache(&video_cache); + CICache *video_cache = new CICache(preferences); + render_engine.set_vcache(video_cache); render_engine.arm_command(&command); double position = edl->local_session->get_selectionstart(1); @@ -962,6 +964,7 @@ int SnapshotMenuItem::handle_event() if( !ret ) ret = file.write_video_buffer(1); file.close_file(); + video_cache->remove_user(); } if( !ret ) { asset->folder_no = AW_MEDIA_FOLDER;