X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.0%2Fcinelerra%2Fassetedit.C;h=5422d97eef2c77cc954b099022010a3f34746457;hb=6c0c8bd0e577001d1cc18c6c27d58e62f58a6bff;hp=c7ef9f24e8755e62e090172fe514f021233b95fb;hpb=e3c81d537528ce9e4300d54fc5c89e20c21070a0;p=goodguy%2Fhistory.git 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()