carbon: Fixes crash in IDE with OpenGL, see bug #30440

git-svn-id: trunk@52779 -
This commit is contained in:
sekelsenmat 2016-08-03 05:54:02 +00:00
parent 36748d73b7
commit febc687143
2 changed files with 6 additions and 3 deletions

View File

@ -228,7 +228,8 @@ var
Ref: ControlRef;
Info: PAGLControlInfo;
begin
if not AWinControl.HandleAllocated then exit;
if not AWinControl.HandleAllocated then Exit;
if csDesigning in AWinControl.ComponentState then Exit;
Ref := ControlRef(TCarbonControl(AWinControl.Handle).Widget);
Info := GetAGLControlInfo(Ref);
if Info=nil then exit;

View File

@ -628,11 +628,13 @@ var
OpenGlControl: TCustomOpenGLControl;
AttrControl: TCustomOpenGLControl;
begin
if csDesigning in AWinControl.ComponentState then begin
if csDesigning in AWinControl.ComponentState then
begin
// do not use "inherited CreateHandle", because the LCL changes the hierarchy at run time
Result:=TWSWinControlClass(ClassParent).CreateHandle(AWinControl,AParams);
end
else begin
else
begin
OpenGlControl:=AWinControl as TCustomOpenGLControl;
if OpenGlControl.SharedControl<>nil then
AttrControl:=OpenGlControl.SharedControl