add more build controls
[goodguy/history.git] / cinelerra-5.1 / cinelerra / mwindow.C
index adb7a87aaa868e746eb879ab5bda531c2fa6a459..9a77005bd0001615caa91a7caab3dc24d4dbc026 100644 (file)
@@ -220,7 +220,9 @@ MWindow::~MWindow()
        gui->stop_drawing();
        gui->remote_control->deactivate();
        gui->record->stop();
+#ifdef HAVE_DVB
        gui->channel_info->stop();
+#endif
        brender_lock->lock("MWindow::quit");
        delete brender;         brender = 0;
        brender_lock->unlock();
@@ -1407,29 +1409,13 @@ SET_TRACE
                                }
 
 // Test existing EDLs
-                               if(result)
-                               {
-                                       for(int j = 0; j < new_edls.total + 1; j++)
-                                       {
-                                               Asset *old_asset;
-                                               if(j == new_edls.total)
-                                               {
-                                                       old_asset = edl->assets->get_asset(new_asset->path);
-                                                       if( old_asset )
-                                                       {
-                                                               *new_asset = *old_asset;
-                                                               result = 0;
-                                                       }
-                                               }
-                                               else
-                                               {
-                                                       old_asset = new_edls[j]->assets->get_asset(new_asset->path);
-                                                       if( old_asset )
-                                                       {
-                                                               *new_asset = *old_asset;
-                                                               result = 0;
-                                                       }
-                                               }
+                               for(int j = 0; result && j <= new_edls.total; j++) {
+                                       Asset *old_asset = j < new_edls.total ?
+                                               new_edls[j]->assets->get_asset(new_asset->path) :
+                                               edl->assets->get_asset(new_asset->path);
+                                       if( old_asset ) {
+                                               *new_asset = *old_asset;
+                                               result = 0;
                                        }
                                }
 
@@ -1830,7 +1816,7 @@ void MWindow::init_shm()
        }
 
        int64_t result = 0;
-       fscanf(fd, _LD, &result);
+       fscanf(fd, "%jd", &result);
        fclose(fd);
        fd = 0;
        if(result < 0x7fffffff) {
@@ -3213,6 +3199,7 @@ int MWindow::run_script(FileXML *script)
 
 int MWindow::interrupt_indexes()
 {
+       mainprogress->cancelled = 1;
        mainindexes->interrupt_build();
        return 0;
 }
@@ -3528,7 +3515,7 @@ int MWindow::select_asset(int vtrack, int delete_tracks)
        if( !edit ) return 1;
        Asset *asset = edit->asset;
        if( !asset || !asset->is_asset ) return 1;
-       return select_asset(asset, edit->channel, -1, delete_tracks);
+       return select_asset(asset, edit->channel, 0, delete_tracks);
 }
 
 void MWindow::dump_plugindb(FILE *fp)