Looks like there is a bug is ScrolledWinControl on Linux. MouseMove is not called when mouse is below "initial" window rectangle and left button is pressed.
How to reproduce:
TTestWindow = class(TScrollingWinControl)
public
procedure MouseMove(Shift: TShiftState; X, Y: Integer); override;
end;
procedure TTestWindow.MouseMove(Shift: TShiftState; X, Y: Integer);
begin
inherited MouseMove(Shift, X, Y);
TForm(Owner).Caption := inttostr(GetTickCount)+' '+ inttostr(integer(Shift));
end;
procedure TForm1.FormCreate(Sender: TObject);
var W: TTestWindow;
begin
W := TTestWindow.Create(Self);
W.Parent := Self;
W.Align := alClient;
W.HorzScrollBar.Visible := true;
W.VertScrollBar.Visible := true;
W.VertScrollBar.Page := ClientHeight;
W.VertScrollBar.Range := 2000;
end;
1. Start application.
2. Press left button somewhere and move mouse - caption is changed.
3. Scroll to bottom.
4. Press left button somewhere and move mouse - caption is not changed.
Is there any workaround for this?
Ubuntu, Lazarus 1.9.0, FPC 3.0.2.