X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fcwindowgui.C;h=97ee1ceb260b02849b6f7e0c3545c92674cfc748;hb=6c1465645d68ce303a0651a07781567869351840;hp=1aff4d6c172fa10c3c27cf3aedd2dd7c2c83c557;hpb=6e880be00673eac08e9463e3ce752aaf4c18085b;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/cinelerra/cwindowgui.C b/cinelerra-5.1/cinelerra/cwindowgui.C index 1aff4d6c..97ee1ceb 100644 --- a/cinelerra-5.1/cinelerra/cwindowgui.C +++ b/cinelerra-5.1/cinelerra/cwindowgui.C @@ -1095,14 +1095,21 @@ int CWindowCanvas::do_scroll(EDL *edl, float cursor_x, float cursor_y) int CWindowCanvas::scope_on() { - return !gui->edit_panel->scope_dialog ? 0 : - gui->edit_panel->scope_dialog->running(); + EditPanelScopeDialog *scope_dialog = gui->edit_panel->scope_dialog; + if( !scope_dialog || !scope_dialog->scope_gui ) return 0; + if( scope_dialog->scope_gui->use_refresh ) return 0; + if( scope_dialog->scope_gui->use_release ) return 0; + return scope_dialog->running(); } -void CWindowCanvas::draw_scope(VFrame *output) +void CWindowCanvas::draw_scope(VFrame *output, int refresh) { - if( gui->edit_panel->scope_dialog && output ) - gui->edit_panel->scope_dialog->process(output); + if( !output ) return; + EditPanelScopeDialog *scope_dialog = gui->edit_panel->scope_dialog; + if( !scope_dialog || !scope_dialog->scope_gui ) return; + if( scope_dialog->scope_gui->use_refresh && !refresh ) return; + if( scope_dialog->scope_gui->use_release && refresh >= 0 ) return; + scope_dialog->process(output); } void CWindowCanvas::draw_refresh(int flush) @@ -3337,6 +3344,9 @@ int CWindowCanvas::button_release_event() { int result = 0; const char *undo_label = 0; + BC_WindowBase *window = get_canvas(); + if( window && !window->get_video_on() ) + draw_scope(refresh_frame, -1); switch( gui->current_operation ) { case CWINDOW_SCROLL: