From 427c8406d510ffd39fa8fbb3bbdbaa56530a457f Mon Sep 17 00:00:00 2001 From: Thomas Goyne Date: Sat, 26 May 2012 16:54:55 +0000 Subject: [PATCH] hurr durr gtk. Closes #1474. Originally committed to SVN as r6875. --- aegisub/src/dialog_spellchecker.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/aegisub/src/dialog_spellchecker.cpp b/aegisub/src/dialog_spellchecker.cpp index a68fce2e0..e4ca5467a 100644 --- a/aegisub/src/dialog_spellchecker.cpp +++ b/aegisub/src/dialog_spellchecker.cpp @@ -261,6 +261,17 @@ bool DialogSpellChecker::CheckLine(AssDialogue *active_line, int start_pos, int std::map::const_iterator auto_rep = auto_replace.find(word); if (auto_rep == auto_replace.end()) { +#ifdef __WXGTK__ + // After changing the value of the edit box, removing text from + // text controls doesn't work until the end of the event handler + // (i.e. orig_word->Clear(); assert(orig_word->IsEmpty()); will + // fail). I have no idea why. + // + // We can't just call SetWord here only because if the new line is + // longer than the old one the selection may not get set correctly. + SetWord(word); +#endif + SelectionController::Selection sel; sel.insert(active_line); context->selectionController->SetSelectionAndActive(sel, active_line);