diff --git a/aegisub/subs_edit_box.cpp b/aegisub/subs_edit_box.cpp index eebd964d7..1d8aa1e63 100644 --- a/aegisub/subs_edit_box.cpp +++ b/aegisub/subs_edit_box.cpp @@ -915,8 +915,8 @@ void SubsEditBox::SetOverride (wxString tagname,wxString preValue,int forcePos,b } else TextEdit->GetSelection(&selstart,&selend); int len = TextEdit->GetText().Length(); - selstart = MID(0,selstart,len); - selend = MID(0,selend,len); + selstart = TextEdit->GetReverseUnicodePosition(MID(0,selstart,len)); + selend = TextEdit->GetReverseUnicodePosition(MID(0,selend,len)); // Current tag name wxString alttagname = tagname; diff --git a/aegisub/subs_edit_ctrl.h b/aegisub/subs_edit_ctrl.h index b47496788..5628b3580 100644 --- a/aegisub/subs_edit_ctrl.h +++ b/aegisub/subs_edit_ctrl.h @@ -69,8 +69,6 @@ private: wxString GetWordAtPosition(int pos); void GetBoundsOfWordAtPosition(int pos,int &start,int &end); - int GetUnicodePosition(int pos); - int GetReverseUnicodePosition(int pos); void SetUnicodeStyling(int start,int length,int style); void ShowPopupMenu(int activePos=-1); @@ -94,6 +92,8 @@ public: SubsTextEditCtrl(wxWindow* parent, wxWindowID id, const wxString& value = _T(""), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, const wxValidator& validator = wxDefaultValidator, const wxString& name = wxTextCtrlNameStr); ~SubsTextEditCtrl(); + int GetUnicodePosition(int pos); + int GetReverseUnicodePosition(int pos); void SetSelectionU(int start,int end); void SetTextTo(const wxString text); void UpdateStyle(int start=0,int length=-1);