diff --git a/aegisub/src/ass_file.cpp b/aegisub/src/ass_file.cpp index 898c0cb1e..a74f4fdcb 100644 --- a/aegisub/src/ass_file.cpp +++ b/aegisub/src/ass_file.cpp @@ -800,6 +800,11 @@ int AssFile::Commit(wxString desc, CommitType type, int amendId) { UndoStack.pop_front(); } + if (OPT_GET("App/Auto/Save on Every Change")->GetBool()) { + if (!filename.empty() && CanSave()) + Save(filename); + } + AnnounceCommit(type); return commitId; } diff --git a/aegisub/src/frame_main.cpp b/aegisub/src/frame_main.cpp index 34df705f1..575373a75 100644 --- a/aegisub/src/frame_main.cpp +++ b/aegisub/src/frame_main.cpp @@ -126,7 +126,7 @@ FrameMain::FrameMain (wxArrayString args) StartupLog("Initializing context models"); AssFile::top = context->ass = new AssFile; - context->ass->AddCommitListener(&FrameMain::OnSubtitlesCommit, this); + context->ass->AddCommitListener(&FrameMain::UpdateTitle, this); context->ass->AddFileOpenListener(&FrameMain::OnSubtitlesOpen, this); context->ass->AddFileSaveListener(&FrameMain::UpdateTitle, this); @@ -1135,15 +1135,6 @@ void FrameMain::OnAudioClose() SetDisplayMode(-1, 0); } -void FrameMain::OnSubtitlesCommit() { - if (OPT_GET("App/Auto/Save on Every Change")->GetBool()) { - if (context->ass->IsModified() && context->ass->CanSave()) - (*cmd::get("subtitle/save"))(context.get()); - } - - UpdateTitle(); -} - void FrameMain::OnSubtitlesOpen() { UpdateTitle(); diff --git a/aegisub/src/frame_main.h b/aegisub/src/frame_main.h index 816f2f0df..33f142d5d 100644 --- a/aegisub/src/frame_main.h +++ b/aegisub/src/frame_main.h @@ -158,7 +158,6 @@ private: void OnVideoOpen(); - void OnSubtitlesCommit(); void OnSubtitlesOpen(); void OnSubtitlesSave();