X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fawindow.C;h=d5f3204cc93df3a146c31bff7c7a976c9c9e1f0a;hb=875ae826327bf25abdaffe1db339aabd622addc8;hp=7e1f56f0d3d29f7f565cfecd7739662214e9e3ab;hpb=7b05ad287956f8bd00836d9b5fb39f899a5fb641;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/awindow.C b/cinelerra-5.1/cinelerra/awindow.C index 7e1f56f0..d5f3204c 100644 --- a/cinelerra-5.1/cinelerra/awindow.C +++ b/cinelerra-5.1/cinelerra/awindow.C @@ -35,7 +35,6 @@ AWindow::AWindow(MWindow *mwindow) this->mwindow = mwindow; current_folder[0] = 0; asset_remove = 0; - asset_edit = 0; clip_edit = 0; label_edit = 0; } @@ -49,8 +48,8 @@ AWindow::~AWindow() gui->unlock_window(); } Thread::join(); + asset_editors.remove_all_objects(); delete asset_remove; - delete asset_edit; delete label_edit; delete clip_edit; delete effect_tip; @@ -62,7 +61,6 @@ void AWindow::create_objects() gui->create_objects(); gui->async_update_assets(); asset_remove = new AssetRemoveThread(mwindow); - asset_edit = new AssetEdit(mwindow); clip_edit = new ClipEdit(mwindow, this, 0); label_edit = new LabelEdit(mwindow, this, 0); effect_tip = new EffectTipDialog(mwindow, this); @@ -78,6 +76,21 @@ int AWindow::load_defaults(BC_Hash *defaults) } +AssetEdit *AWindow::get_asset_editor() +{ + AssetEdit *asset_edit = 0; + for( int i=0; !asset_edit && irunning() ) asset_edit = thread; + } + if( !asset_edit ) { + asset_edit = new AssetEdit(mwindow); + asset_editors.append(asset_edit); + } + return asset_edit; +} + + void AWindow::run() { gui->run_window();