Browse Source

Contra intuitive: TEditor.SetBufSize should not change BufSize at all

Margers 10 months ago
parent
commit
86486f9c46
1 changed files with 1 additions and 20 deletions
  1. 1 20
      packages/fv/src/editors.pas

+ 1 - 20
packages/fv/src/editors.pas

@@ -3020,26 +3020,7 @@ end; { TEditor.SetBufLen }
 
 function TEditor.SetBufSize (NewSize : Sw_Word) : Boolean;
 begin
-  {  This function is called on every new key typed on keyboard
-     and NewSize is BufLen+1. That is bad idea.
-     Fix: do not allow downsize Buffer,
-     make incremental grow at last by 4k.
-  }
-  if NewSize > BufSize then
-  begin
-    if (NewSize+4096-1) and (not Sw_Word(4095)) > BufSize then
-    begin
-      {Buffer increment to 4k boundary}
-      ReAllocMem(Buffer, (NewSize+4096-1) and (not Sw_Word(4095)) );
-      BufSize := (NewSize+4096-1) and (not Sw_Word(4095));
-    end else
-    begin
-      {branch is taken only if NewSize+4096 wrap around sw_word }
-      ReAllocMem(Buffer, NewSize);
-      BufSize := NewSize;
-    end;
-  end;
-  SetBufSize := True;
+  if BufSize>=NewSize then SetBufSize:=true else SetBufSize:=false;
 end; { TEditor.SetBufSize }