diff --git a/lcl/controls.pp b/lcl/controls.pp index a5d95394f9..ba07cd70c1 100644 --- a/lcl/controls.pp +++ b/lcl/controls.pp @@ -400,6 +400,7 @@ type protected procedure AdjustDockRect(ARect: TRect); virtual; function GetDragCursor(Accepted: Boolean; X, Y: Integer): TCursor; override; + procedure EndDrag(Target: TObject; X, Y: Integer); override; public property DockRect: TRect read FDockRect write FDockRect; property DropAlign: TAlign read FDropAlign write FDropAlign; diff --git a/lcl/include/dragmanager.inc b/lcl/include/dragmanager.inc index 5b4ef28c80..ff660754ed 100644 --- a/lcl/include/dragmanager.inc +++ b/lcl/include/dragmanager.inc @@ -536,7 +536,7 @@ begin if not Accepted then ADockObjectCopy.Control.DragCanceled; - ADockObjectCopy.Control.DoEndDock(ADockObjectCopy.DragTarget,TargetPos.X,TargetPos.Y); + ADockObjectCopy.EndDrag(ADockObjectCopy.DragTarget,TargetPos.X,TargetPos.Y); finally if FDragObjectAutoFree then ADockObjectCopy.Free diff --git a/lcl/include/dragobject.inc b/lcl/include/dragobject.inc index aab6e391ec..17fc9b7fb6 100644 --- a/lcl/include/dragobject.inc +++ b/lcl/include/dragobject.inc @@ -99,6 +99,12 @@ begin Result := crDefault; end; +procedure TDragDockObject.EndDrag(Target: TObject; X, Y: Integer); +begin + if FControl <> nil then + FControl.DoEndDock(Target, X, Y); +end; + // included by controls.pp diff --git a/lcl/interfaces/win32/win32wscomctrls.pp b/lcl/interfaces/win32/win32wscomctrls.pp index 82b6dcc3fc..167f64a603 100644 --- a/lcl/interfaces/win32/win32wscomctrls.pp +++ b/lcl/interfaces/win32/win32wscomctrls.pp @@ -363,8 +363,6 @@ end; class procedure TWin32WSStatusBar.GetPreferredSize(const AWinControl: TWinControl; var PreferredWidth, PreferredHeight: integer; WithThemeSpace: Boolean); -var - R: TRect; begin if (PreferredStatusBarHeight=0) then InitializePreferredStatusBarHeight;