From f050c18f3259f9342bd703e74b324f2aefd763c6 Mon Sep 17 00:00:00 2001 From: "Mihail Semenyako (mike.dld)" Date: Thu, 1 Feb 2007 13:38:46 +0000 Subject: [PATCH] Tinypad 4.0.4 (bugfix for redrawing issue) git-svn-id: svn://kolibrios.org@311 a494cfbc-eb01-0410-851d-a64ba20cac60 --- programs/develop/tinypad/trunk/tinypad.asm | 5 +++-- programs/develop/tinypad/trunk/tp-editor.asm | 14 +++++++++++++- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/programs/develop/tinypad/trunk/tinypad.asm b/programs/develop/tinypad/trunk/tinypad.asm index ecbe00e045..19399a4421 100644 --- a/programs/develop/tinypad/trunk/tinypad.asm +++ b/programs/develop/tinypad/trunk/tinypad.asm @@ -3,7 +3,7 @@ ; compiler: flat assembler 1.67.18 ; memory to compile: 3.0/9.0 MBytes (without/with size optimizations) ; version: 4.0.4 -; last update: 2007-01-28 (Jan 28, 2007) +; last update: 2007-02-01 (Feb 01, 2007) ; minimal kernel: revision #270 (svn://kolibrios.org/kernel) ;----------------------------------------------------------------------------- ; originally by: Ville Michael Turjanmaa >> villemt@aton.co.jyu.fi @@ -763,7 +763,8 @@ f_info70 rd 7 file_info FILEINFO -checker_ed EDITOR +checker_ed EDITOR +checker_ed_ll dd ? tab_bar TABCTL virtual at tab_bar.Current diff --git a/programs/develop/tinypad/trunk/tp-editor.asm b/programs/develop/tinypad/trunk/tp-editor.asm index f28e4d7efa..8b0d097631 100644 --- a/programs/develop/tinypad/trunk/tp-editor.asm +++ b/programs/develop/tinypad/trunk/tp-editor.asm @@ -999,7 +999,11 @@ func editor_check_for_changes ;///// EDITOR CHANGES CHECKER ////////////////// xor edx,edx - mov eax,[cur_editor.TopLeft.Y] + mov eax,[cur_editor.Lines.Count] + cmp eax,[checker_ed.Lines.Count] + je @f + or dl,REDRAW_TEXT+REDRAW_VSCROLL+REDRAW_HSCROLL + @@: mov eax,[cur_editor.TopLeft.Y] cmp eax,[checker_ed.TopLeft.Y] je @f or dl,REDRAW_TEXT+REDRAW_VSCROLL @@ -1010,6 +1014,14 @@ func editor_check_for_changes ;///// EDITOR CHANGES CHECKER ////////////////// @@: or dl,dl jnz .redraw + mov ecx,[cur_editor.Caret.Y] + call get_line_offset + call get_real_length + cmp eax,[checker_ed_ll] + je @f + mov [checker_ed_ll],eax + or dl,REDRAW_ONELINE + @@: mov eax,[cur_editor.Caret.Y] cmp eax,[checker_ed.Caret.Y] je @f