LCL: Set Result in TAnchorSide.CheckSidePosition. Solves issue #20367, patch from cobines

git-svn-id: trunk@33526 -
This commit is contained in:
juha 2011-11-14 11:26:45 +00:00
parent cdaafd9a2e
commit 43d521337d

View File

@ -3517,6 +3517,7 @@ var
CurReferenceControl: TControl; CurReferenceControl: TControl;
CurReferenceSide: TAnchorSideReference; CurReferenceSide: TAnchorSideReference;
begin begin
Result:=false;
ReferenceControl:=nil; ReferenceControl:=nil;
ReferenceSide:=Side; ReferenceSide:=Side;
Position:=0; Position:=0;
@ -3532,6 +3533,8 @@ begin
Found:=false; Found:=false;
CurReferenceControl:=NewControl; CurReferenceControl:=NewControl;
CurReferenceSide:=NewSide; CurReferenceSide:=NewSide;
if CurReferenceControl = nil then
exit(true);
while CurReferenceControl<>nil do begin while CurReferenceControl<>nil do begin
// check for circles // check for circles
@ -3541,7 +3544,7 @@ begin
DebugLn(['TAnchorSide.GetSidePosition Circle, ',DbgSName(Owner),' ',dbgs(Kind)]); DebugLn(['TAnchorSide.GetSidePosition Circle, ',DbgSName(Owner),' ',dbgs(Kind)]);
{$ENDIF} {$ENDIF}
ReferenceControl:=nil; ReferenceControl:=nil;
exit(false); exit;
end; end;
inc(ChainLength); inc(ChainLength);
@ -3552,7 +3555,7 @@ begin
DebugLn(['TAnchorSide.GetSidePosition Circle, ',DbgSName(Owner),' ',dbgs(Kind)]); DebugLn(['TAnchorSide.GetSidePosition Circle, ',DbgSName(Owner),' ',dbgs(Kind)]);
{$ENDIF} {$ENDIF}
ReferenceControl:=nil; ReferenceControl:=nil;
exit(false); exit;
end; end;
// check if ReferenceControl is valid // check if ReferenceControl is valid
@ -3564,7 +3567,7 @@ begin
DebugLn(['TAnchorSide.GetSidePosition invalid anchor control, ',DbgSName(Owner),' ',dbgs(Kind)]); DebugLn(['TAnchorSide.GetSidePosition invalid anchor control, ',DbgSName(Owner),' ',dbgs(Kind)]);
{$ENDIF} {$ENDIF}
ReferenceControl:=nil; ReferenceControl:=nil;
exit(false); exit;
end; end;
//debugln(['TAnchorSide.CheckSidePosition CurReferenceControl=',DbgSName(CurReferenceControl),' Kind=',dbgs(Kind),' Visible=',CurReferenceControl.IsControlVisible]); //debugln(['TAnchorSide.CheckSidePosition CurReferenceControl=',DbgSName(CurReferenceControl),' Kind=',dbgs(Kind),' Visible=',CurReferenceControl.IsControlVisible]);