diff --git a/src/mred/wxme/wx_media.cxx b/src/mred/wxme/wx_media.cxx index 089e249cbb..55c83d8557 100644 --- a/src/mred/wxme/wx_media.cxx +++ b/src/mred/wxme/wx_media.cxx @@ -1591,7 +1591,7 @@ void wxMediaEdit::_Insert(wxSnip *isnip, long strlen, wxchar *str, wxList *snips if (!len) { wxStyle *style; - style = (stickyStyles + style = ((stickyStyles & !initialStyleNeeded) ? snips->style : GetDefaultStyle()); snip = InsertTextSnip(start, style); @@ -1790,6 +1790,8 @@ void wxMediaEdit::_Insert(wxSnip *isnip, long strlen, wxchar *str, wxList *snips len += addlen; } + initialStyleNeeded = 0; + revision_count++; AdjustClickbacks(start, start, addlen, NULL); diff --git a/src/mred/wxme/wx_media.h b/src/mred/wxme/wx_media.h index dd173c25dc..9b96e153b5 100644 --- a/src/mred/wxme/wx_media.h +++ b/src/mred/wxme/wx_media.h @@ -506,6 +506,8 @@ class wxMediaEdit : public wxMediaBuffer TF_Flag( caretBlinked ); /* Whether we want to hide an active caret or not */ + TF_Flag( initialStyleNeeded ); + #undef TF_Flag int lastDrawCaret; diff --git a/src/mred/wxme/wx_mpriv.cxx b/src/mred/wxme/wx_mpriv.cxx index 42f9195548..57ba99e37f 100644 --- a/src/mred/wxme/wx_mpriv.cxx +++ b/src/mred/wxme/wx_mpriv.cxx @@ -289,6 +289,7 @@ void wxMediaEdit::_ChangeStyle(long start, long end, if (!len) { startSnip = snips; endSnip = NULL; + initialStyleNeeded = 0; } else { startSnip = FindSnip(start, +1); endSnip = FindSnip(end, +2);