From 543e960d76d3e36406a676b46c3595986d1b620c Mon Sep 17 00:00:00 2001 From: paul Date: Mon, 4 Feb 2008 02:39:25 +0000 Subject: [PATCH] dont use direct call of TControl.DoEndDock from DockPerformer (hint from Marius) git-svn-id: trunk@13971 - --- lcl/controls.pp | 1 + lcl/include/dragmanager.inc | 2 +- lcl/include/dragobject.inc | 6 ++++++ lcl/interfaces/win32/win32wscomctrls.pp | 2 -- 4 files changed, 8 insertions(+), 3 deletions(-) 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;