Skip to content

Commit

Permalink
1. Уточнение 4280.2.
Browse files Browse the repository at this point in the history
  • Loading branch information
alabuzhev committed Mar 1, 2015
1 parent a8ffd5d commit 1d1e3a1
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 18 deletions.
6 changes: 5 additions & 1 deletion far/changelog
@@ -1,4 +1,8 @@
drkns 01.03.2015 00:58:19 +0200 - build 4281
drkns 01.03.2015 02:12:37 +0200 - build 4282

1. Уточнение 4280.2.

drkns 01.03.2015 00:58:19 +0200 - build 4281

1. Уточнение 4280.1.

Expand Down
4 changes: 3 additions & 1 deletion far/edit.hpp
Expand Up @@ -255,7 +255,7 @@ class Edit:public SimpleScreenObject
typedef impl_type::iterator iterator;
typedef impl_type::const_iterator const_iterator;

tiny_string() { clear(); }
tiny_string() { AddNullTerminator(); }
tiny_string(const wchar_t* Data, size_t Size)
{
m_Data.reserve(Size + 1);
Expand All @@ -282,6 +282,8 @@ class Edit:public SimpleScreenObject

void resize(size_t Size, wchar_t Value = wchar_t())
{
// remove existing null terminator
m_Data.pop_back();
m_Data.reserve(Size + 1);
m_Data.resize(Size, Value);
AddNullTerminator();
Expand Down
22 changes: 7 additions & 15 deletions far/editor.cpp
Expand Up @@ -5035,28 +5035,20 @@ void Editor::Undo(int redo)

Pasting--;

{
MoveSavedSessionBookmarksBack(ud->m_BM);
}
MoveSavedSessionBookmarksBack(ud->m_BM);

if (!ud->m_Str.empty())
{
CurLine->SetString(ud->m_Str.data(), static_cast<int>(ud->m_Str.size()));
CurLine->SetEOL(ud->m_EOL); // íåîáõîäèìî äîïîëíèòåëüíî âûñòàâëÿòü, ò.ê. SetString âûçûâàåò Edit::SetBinaryString è... äàëüøå ïî òåêñòó
Change(ECTYPE_CHANGED,NumLine);
}
CurLine->SetString(ud->m_Str.data(), static_cast<int>(ud->m_Str.size()));
CurLine->SetEOL(ud->m_EOL); // íåîáõîäèìî äîïîëíèòåëüíî âûñòàâëÿòü, ò.ê. SetString âûçûâàåò Edit::SetBinaryString è... äàëüøå ïî òåêñòó
Change(ECTYPE_CHANGED,NumLine);

break;
case UNDO_EDIT:
{
EditorUndoData tmp(UNDO_EDIT,CurLine->GetStringAddr(),CurLine->GetEOL(),ud->m_StrNum,ud->m_StrPos,CurLine->GetLength());

if (!ud->m_Str.empty())
{
CurLine->SetString(ud->m_Str.data(), static_cast<int>(ud->m_Str.size()));
CurLine->SetEOL(ud->m_EOL); // íåîáõîäèìî äîïîëíèòåëüíî âûñòàâëÿòü, ò.ê. SetString âûçûâàåò Edit::SetBinaryString è... äàëüøå ïî òåêñòó
Change(ECTYPE_CHANGED,NumLine);
}
CurLine->SetString(ud->m_Str.data(), static_cast<int>(ud->m_Str.size()));
CurLine->SetEOL(ud->m_EOL); // íåîáõîäèìî äîïîëíèòåëüíî âûñòàâëÿòü, ò.ê. SetString âûçûâàåò Edit::SetBinaryString è... äàëüøå ïî òåêñòó
Change(ECTYPE_CHANGED,NumLine);

CurLine->SetCurPos(ud->m_StrPos);
ud->SetData(tmp.m_Type, tmp.m_Str.data(), tmp.m_EOL, tmp.m_StrNum, tmp.m_StrPos, tmp.m_Str.size());
Expand Down
2 changes: 1 addition & 1 deletion far/vbuild.m4
@@ -1 +1 @@
m4_define(BUILD,4281)m4_dnl
m4_define(BUILD,4282)m4_dnl

0 comments on commit 1d1e3a1

Please sign in to comment.