Fixed string subscript out of range bug in editors undo stack.

This commit is contained in:
Ianos Gnatiuc
2006-06-25 07:45:12 +00:00
parent dd8361bf25
commit b5719339a2
3 changed files with 13 additions and 8 deletions

View File

@@ -10,6 +10,8 @@ _____________________________________________________________________________
<20><><EFBFBD><EFBFBD><20><><EFBFBD> GoldED+ 1.1.5, /snapshot/ <20><><EFBFBD><EFBFBD><20><><EFBFBD> GoldED+ 1.1.5, /snapshot/
_____________________________________________________________________________ _____________________________________________________________________________
- <20><><EFBFBD><EFBFBD><E0A0A2><EFBFBD> <20><><EFBFBD> <20> <20><EFBFBD> <20><EFBFBD><E2AAA0><><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0AEA1><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 祬 ࠧ<><E0A0A7><EFBFBD> <20><><EFBFBD>.
+ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ReadForceDeleteMsg (<28><><><EFBFBD><E7A0AD> #Del) <20> goldkeys.cfg <20><><EFBFBD><><E3A4A0><EFBFBD><EFBFBD><EFBFBD> + <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ReadForceDeleteMsg (<28><><><EFBFBD><E7A0AD> #Del) <20> goldkeys.cfg <20><><EFBFBD><><E3A4A0><EFBFBD><EFBFBD><EFBFBD>
<><EFBFBD><E9A5AD> <20><><EFBFBD><EFBFBD><EFBFBD> AreaRecicleBin. <><EFBFBD><E9A5AD> <20><><EFBFBD><EFBFBD><EFBFBD> AreaRecicleBin.
! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A0AC><EFBFBD><EFBFBD> AreaRecycleBin <20><> AreaRecycleBin <area> [NoAsk/Ask]. ! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A0AC><EFBFBD><EFBFBD> AreaRecycleBin <20><> AreaRecycleBin <area> [NoAsk/Ask].

View File

@@ -10,6 +10,8 @@ ______________________________________________________________________
Notes for GoldED+ 1.1.5, /snapshot/ Notes for GoldED+ 1.1.5, /snapshot/
______________________________________________________________________ ______________________________________________________________________
- Fixed string subscript out of range in editors undo stack.
+ Added ReadForceDeleteMsg (default is #Del) to the goldkeys.cfg used to + Added ReadForceDeleteMsg (default is #Del) to the goldkeys.cfg used to
delete messages without moving them to AreaRecicleBin. delete messages without moving them to AreaRecicleBin.

View File

@@ -1063,18 +1063,16 @@ Line* IEclass::wrapit(Line** __currline, uint* __curr_col, uint* __curr_row, boo
} }
} }
// Was this line truncated at space?
bool truncated_at_space = make_bool(isspace(_thisline->txt[_wrappos]));
// Truncate at the wrapping location // Truncate at the wrapping location
_thisline->txt.erase(_wrappos); _thisline->txt.erase(_wrappos);
// Was this line quoted? // Was this line quoted?
if(_quotelen) { if (_quotelen)
{
// Trim spaces off the end of the line // Trim spaces off the end of the line
int _trimpos = _wrappos - 1; int _trimpos = _wrappos - 1;
if(isspace(_thisline->txt[_trimpos])) { if (isspace(_thisline->txt[_trimpos]))
{
while (_trimpos > 0 and isspace(_thisline->txt[_trimpos-1])) while (_trimpos > 0 and isspace(_thisline->txt[_trimpos-1]))
_trimpos--; _trimpos--;
if(_quotelen and (_trimpos < _quotelen)) if(_quotelen and (_trimpos < _quotelen))
@@ -1082,7 +1080,10 @@ Line* IEclass::wrapit(Line** __currline, uint* __curr_col, uint* __curr_row, boo
Undo->PushItem(EDIT_UNDO_OVR_CHAR|BATCH_MODE, _thisline, _trimpos); Undo->PushItem(EDIT_UNDO_OVR_CHAR|BATCH_MODE, _thisline, _trimpos);
_thisline->txt.erase(_trimpos); _thisline->txt.erase(_trimpos);
} }
Undo->PushItem((truncated_at_space?EDIT_UNDO_OVR_CHAR:EDIT_UNDO_INS_CHAR)|BATCH_MODE, _thisline, _trimpos+1); else
{
Undo->PushItem(EDIT_UNDO_INS_CHAR|BATCH_MODE, _thisline, _trimpos + 1);
}
// Append a new linefeed // Append a new linefeed
_thisline->txt += "\n"; _thisline->txt += "\n";