From 35f2610bb8308d610d49e9b71c7635c6e0b23a40 Mon Sep 17 00:00:00 2001 From: Rodrigo Braz Monteiro Date: Sat, 16 Jun 2007 23:05:05 +0000 Subject: [PATCH] Fixed insertion of bold/italics/etc overrides on lines that contained non-ascii characters. Originally committed to SVN as r1228. --- aegisub/subs_edit_box.cpp | 4 ++-- aegisub/subs_edit_ctrl.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) 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);