X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;ds=sidebyside;f=cinelerra-5.1%2Fcinelerra%2Fmwindow.C;h=aee8aadb9184568ebcaf515cc8f0806a1cc4f23c;hb=77815ec03df6a03ed75433e8cf8ae1e83fb76d6e;hp=5528477892299adf8d43b9c6d847cd705403d5c4;hpb=64ee854bdef9fb08e6fec938aa0519715f724b99;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/mwindow.C b/cinelerra-5.1/cinelerra/mwindow.C index 55284778..aee8aadb 100644 --- a/cinelerra-5.1/cinelerra/mwindow.C +++ b/cinelerra-5.1/cinelerra/mwindow.C @@ -29,6 +29,7 @@ #include "bcdisplayinfo.h" #include "bcsignals.h" #include "bctimer.h" +#include "bctrace.h" #include "bdcreate.h" #include "brender.h" #include "cache.h" @@ -784,10 +785,15 @@ void MWindow::init_preferences() session->load_defaults(defaults); // set x11_host, screens, window_config screens = session->set_default_x11_host(); - BC_Signals::set_trap_path("/tmp/cinelerra_%d.dmp"); BC_Signals::set_trap_hook(trap_hook, this); BC_Signals::set_catch_segv(preferences->trap_sigsegv); BC_Signals::set_catch_intr(preferences->trap_sigintr); + if( preferences->trap_sigsegv || preferences->trap_sigintr ) { + BC_Trace::enable_locks(); + } + else { + BC_Trace::disable_locks(); + } BC_WindowBase::get_resources()->popupmenu_btnup = preferences->popupmenu_btnup; } @@ -1091,7 +1097,7 @@ void MWindow::init_gui() void MWindow::init_signals() { sighandler = new SigHandler; - sighandler->initialize(); + sighandler->initialize("/tmp/cinelerra_%d.dmp"); ENABLE_BUFFER } @@ -1164,9 +1170,16 @@ int MWindow::brender_available(int position) return result; } -void MWindow::set_brender_start() +void MWindow::set_brender_range() { edl->session->brender_start = edl->local_session->get_selectionstart(1); + edl->session->brender_end = edl->local_session->get_selectionend(1); + + if(EQUIV(edl->session->brender_end, edl->session->brender_start)) + { + edl->session->brender_end = edl->tracks->total_video_length(); + } + restart_brender(); gui->draw_overlays(1); } @@ -2457,8 +2470,8 @@ SET_TRACE // Needs mwindow to do GUI gui->set_mwindow(this); gui->open_plugin(0, preferences, edl, plugin); - gui->show_gui(); plugin->show = 1; + gui->show_gui(); } } plugin_gui_lock->unlock(); @@ -3531,7 +3544,7 @@ int MWindow::select_asset(Asset *asset, int vstream, int astream, int delete_tra next_edit = edit->next; if( edit->channel != vstream || !edit->asset || !edit->asset->is_asset || - *asset != *edit->asset ) + !asset->equivalent(*edit->asset,1,1,edl) ) delete edit; } } @@ -3591,7 +3604,7 @@ int MWindow::select_asset(Asset *asset, int vstream, int astream, int delete_tra next_edit = edit->next; if( !((1<channel) & channel_mask) || !edit->asset || !edit->asset->is_asset || - *asset != *edit->asset ) + !asset->equivalent(*edit->asset,1,1,edl) ) delete edit; } if( !track->edits->first )