浏览代码

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

Margers 1 年之前
父节点
当前提交
86486f9c46
共有 1 个文件被更改,包括 1 次插入20 次删除
  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 }