X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fkeyframepopup.C;h=c3dcaea1c73024d3f0ee7980e749f1ec78cb8187;hb=83b70dd60863377cb281e6be5206304e10373e30;hp=830867929e6b4d1ecbd32a2913ee356907845a17;hpb=6ad20126d5f82618e5dd4dd2d14b0682a5529d17;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/cinelerra/keyframepopup.C b/cinelerra-5.1/cinelerra/keyframepopup.C index 83086792..c3dcaea1 100644 --- a/cinelerra-5.1/cinelerra/keyframepopup.C +++ b/cinelerra-5.1/cinelerra/keyframepopup.C @@ -629,6 +629,7 @@ KeySpeedPatch::KeySpeedPatch(MWindow *mwindow, PatchGUI *gui, { this->mwindow = mwindow; this->gui = gui; + need_undo = 1; } KeySpeedPatch::~KeySpeedPatch() { @@ -693,8 +694,10 @@ void KeySpeedPatch::update_speed(float v) float change = v - current->get_value(gui->edge); if( !change ) return; gui->change_source = 1; - int need_undo = !speed_autos->auto_exists_for_editing(position); - mwindow->undo->update_undo_before(_("speed"), need_undo ? 0 : this); + if( need_undo ) { + need_undo = 0; + mwindow->undo->update_undo_before(_("speed"), this); + } current->bump_value(v, gui->edge, gui->span); if( track->is_ganged() ) { TrackCanvas *track_canvas = gui->patchbay->pane->canvas; @@ -720,8 +723,10 @@ int KeySpeedOK::handle_event() { MWindow *mwindow = key_speed_patch->mwindow; mwindow->speed_after(1, 1); - mwindow->undo->update_undo_after(_("speed"), + if( !key_speed_patch->need_undo ) { + mwindow->undo->update_undo_after(_("speed"), LOAD_AUTOMATION + LOAD_EDITS + LOAD_TIMEBAR); + } mwindow->resync_guis(); mwindow->gui->close_keyvalue_popup(); return 1;