From 6df5d97568eaaa87d3dbbf31d7652c80fd81c3c4 Mon Sep 17 00:00:00 2001 From: Thomas Goyne Date: Wed, 26 May 2010 22:09:00 +0000 Subject: [PATCH] Eliminate a redundant rerender of the frame when committing changes from the visual tools. Makes all visual tools roughly twice as fast when real time mode is enabled. Originally committed to SVN as r4365. --- aegisub/src/subs_edit_box.cpp | 4 ++-- aegisub/src/subs_edit_box.h | 2 +- aegisub/src/visual_tool.cpp | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/aegisub/src/subs_edit_box.cpp b/aegisub/src/subs_edit_box.cpp index f3cf61216..969b8a873 100644 --- a/aegisub/src/subs_edit_box.cpp +++ b/aegisub/src/subs_edit_box.cpp @@ -264,7 +264,7 @@ void SubsEditBox::SetSplitLineMode(wxSize newSize) { /// @param timeOnly /// @param weak /// -void SubsEditBox::Update (bool timeOnly,bool weak) { +void SubsEditBox::Update (bool timeOnly,bool weak,bool video) { if (enabled) { AssDialogue *curdiag = grid->GetDialogue(linen); if (curdiag) { @@ -300,7 +300,7 @@ void SubsEditBox::Update (bool timeOnly,bool weak) { // Video VideoContext::Get()->curLine = curdiag; - VideoContext::Get()->UpdateDisplays(false); + if (video) VideoContext::Get()->UpdateDisplays(false); TextEdit->EmptyUndoBuffer(); } diff --git a/aegisub/src/subs_edit_box.h b/aegisub/src/subs_edit_box.h index 68b5951b2..96e62a6a5 100644 --- a/aegisub/src/subs_edit_box.h +++ b/aegisub/src/subs_edit_box.h @@ -251,7 +251,7 @@ public: void SetSplitLineMode(wxSize size=wxSize(-1,-1)); void CommitText(bool weak=false); - void Update(bool timeOnly=false,bool weak=false); + void Update(bool timeOnly=false,bool weak=false,bool video=true); void UpdateGlobals(); void SetToLine(int n,bool weak=false); void UpdateFrameTiming(); diff --git a/aegisub/src/visual_tool.cpp b/aegisub/src/visual_tool.cpp index c36ce9395..568181890 100644 --- a/aegisub/src/visual_tool.cpp +++ b/aegisub/src/visual_tool.cpp @@ -266,7 +266,7 @@ void VisualTool::Commit(bool full, wxString message) { grid->ass->FlagAsModified(message); } grid->CommitChanges(false,!full); - grid->editBox->Update(false, true); + grid->editBox->Update(false, true, false); } template