anchor.diff:    msg.mouse.y := y;
     msg.mouse.shiftstate := shiftstate;
     msg.mouse.delta := delta;
  -  fpgPostMessage(self, (Owner as TfpgBaseTextEdit).FVScrollBar, FPGM_SCROLL, msg);
  +  fpgPostMessage(self, FOwner.FVScrollBar, FPGM_SCROLL, msg);
   end;
   
   constructor TfpgGutter.CreateGutter(AOwner: TfpgBaseTextEdit);
   begin
     inherited Create(AOwner);
  +  FOwner := AOwner;
     FDigits := 0;
     FShowNum := True;
     FSpace := 2;
  
positive.code: begin
    if not FShowNum then
      Exit; //==>
    w := GetClientRect.Width - FSpace - 1;
    H := TfpgBaseTextEdit(Owner).FChrH;
    MaxI := TfpgBaseTextEdit(Owner).FVisLines;
    ltxtflags := [txtRight, txtVCenter];
    Canvas.SetFont(TfpgBaseTextEdit(Owner).FFont);
    r.SetRect(2, 0, W, H);
  
    for i := 0 to MaxI do
  
negative.code: function TfpgGutter.GetClientRect: TfpgRect;
  begin
    Result := inherited GetClientRect;
    Result.Width := Result.Width - 2; // border right line takes up two pixels
  end;
  
  { TfpgBaseTextEdit }
  