Tinypad - fix for crash when "paste" from clipboard in some cases.

git-svn-id: svn://kolibrios.org@4566 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Marat Zakiyanov (Mario79)
2014-02-09 18:17:39 +00:00
parent f52363903f
commit 9443bf38d2
4 changed files with 25 additions and 18 deletions

View File

@@ -610,7 +610,12 @@ proc key.ctrl_v
add [esp],eax
add esi,eax
mov ecx,[copy_size]
mov edi,[copy_count]
test edi,edi
dec edi
jnz @f
sub ecx,sizeof.EDITOR_LINE_DATA
@@:
mov edi,[cur_editor.Lines]
add edi,[cur_editor.Lines.Size] ;*** add edi,[edi-4]
dec edi
@@ -621,6 +626,7 @@ proc key.ctrl_v
add ecx,[cur_editor.Caret.X]
neg ecx
lea ecx,[esi+ecx+1]
mov [size_of_moving_area],ecx
std
rep movsb
@@ -655,11 +661,22 @@ proc key.ctrl_v
pop ecx
sub ecx,ebx
ja @f
pusha
mov esi,edi
sub edi,sizeof.EDITOR_LINE_DATA
mov ecx,[size_of_moving_area]
cld
rep movsb
popa
jmp .save_cur_editor_values
@@:
add [edi-sizeof.EDITOR_LINE_DATA+EDITOR_LINE_DATA.Size],ecx
call .check_columns
mov ecx,eax
rep movsb
.save_cur_editor_values:
mov [cur_editor.Caret.X],eax
mov [cur_editor.SelStart.X],eax
mov eax,[copy_count]
@@ -716,7 +733,6 @@ proc key.ctrl_v
@@: pop eax
ret
endp
;-----------------------------------------------------------------------------
proc key.ctrl_d ;///// INSERT SEPARATOR //////////////////////////////////////
;-----------------------------------------------------------------------------