X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fawindow.C;h=53d72903204311b21d4198f9f33f8cdb2b7b98c7;hb=c279e21fc2394a7908bbd1ba8c79b116fe9fb14a;hp=bc6ba19375139cce5f0e61c7757498fadd7a4dc1;hpb=26fe9e12d6d42ae8f7087ac7f08242769d77a84a;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/awindow.C b/cinelerra-5.1/cinelerra/awindow.C index bc6ba193..53d72903 100644 --- a/cinelerra-5.1/cinelerra/awindow.C +++ b/cinelerra-5.1/cinelerra/awindow.C @@ -33,9 +33,7 @@ AWindow::AWindow(MWindow *mwindow) : Thread(1, 0, 0) { this->mwindow = mwindow; - current_folder[0] = 0; asset_remove = 0; - asset_edit = 0; clip_edit = 0; label_edit = 0; } @@ -49,10 +47,11 @@ 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; } void AWindow::create_objects() @@ -61,7 +60,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); @@ -77,6 +75,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();