X-Git-Url: http://git.cinelerra-gg.org/git/?p=goodguy%2Fhistory.git;a=blobdiff_plain;f=cinelerra-5.0%2Fcinelerra%2Fassetedit.C;h=5422d97eef2c77cc954b099022010a3f34746457;hp=c7ef9f24e8755e62e090172fe514f021233b95fb;hb=52fcc46226f9df46f9ce9d0566dc568455a7db0b;hpb=e3c81d537528ce9e4300d54fc5c89e20c21070a0 diff --git a/cinelerra-5.0/cinelerra/assetedit.C b/cinelerra-5.0/cinelerra/assetedit.C index c7ef9f24..5422d97e 100644 --- a/cinelerra-5.0/cinelerra/assetedit.C +++ b/cinelerra-5.0/cinelerra/assetedit.C @@ -796,9 +796,14 @@ DetailAssetThread::DetailAssetThread(MWindow *mwindow) } DetailAssetThread::~DetailAssetThread() +{ + stop(); +} + +void DetailAssetThread::stop() { if( Thread::running() ) { - dwindow->lock_window("DetailAssetThread::~DetailAssetThread"); + dwindow->lock_window("DetailAssetThread::stop"); dwindow->set_done(1); dwindow->unlock_window(); Thread::join(); @@ -831,11 +836,10 @@ void DetailAssetWindow::create_objects() void DetailAssetThread::start(Asset *asset) { - if( !Thread::running() ) { - delete dwindow; - dwindow = new DetailAssetWindow(mwindow, asset); - Thread::start(); - } + stop(); + delete dwindow; + dwindow = new DetailAssetWindow(mwindow, asset); + Thread::start(); } void DetailAssetThread::run()