mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-18 19:59:31 +02:00
qt: fix crash on recreating TCustomControl descendants
git-svn-id: trunk@13889 -
This commit is contained in:
parent
1d29c3e238
commit
4c2fed68d4
@ -313,6 +313,7 @@ type
|
|||||||
procedure setVerticalScrollBar(AScrollBar: TQtScrollBar);
|
procedure setVerticalScrollBar(AScrollBar: TQtScrollBar);
|
||||||
procedure setVisible(visible: Boolean); override;
|
procedure setVisible(visible: Boolean); override;
|
||||||
procedure viewportNeeded;
|
procedure viewportNeeded;
|
||||||
|
procedure viewportDelete;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ TQtViewPort }
|
{ TQtViewPort }
|
||||||
@ -6864,8 +6865,7 @@ begin
|
|||||||
{$ifdef VerboseQt}
|
{$ifdef VerboseQt}
|
||||||
WriteLn('TQAbstractScrollArea.Destroy');
|
WriteLn('TQAbstractScrollArea.Destroy');
|
||||||
{$endif}
|
{$endif}
|
||||||
if Assigned(FViewPortWidget) then
|
viewportDelete;
|
||||||
FreeAndNil(FViewPortWidget);
|
|
||||||
|
|
||||||
inherited Destroy;
|
inherited Destroy;
|
||||||
end;
|
end;
|
||||||
@ -7127,6 +7127,18 @@ begin
|
|||||||
setViewport(FViewPortWidget.Widget);
|
setViewport(FViewPortWidget.Widget);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TQtAbstractScrollArea.viewportDelete;
|
||||||
|
var
|
||||||
|
NilMethod: TMethod;
|
||||||
|
begin
|
||||||
|
if Assigned(FViewPortWidget) then
|
||||||
|
begin
|
||||||
|
FillChar(NilMethod, SizeOf(NilMethod), 0);
|
||||||
|
QLCLAbstractScrollArea_override_viewportEvent(QLCLAbstractScrollAreaH(Widget), NilMethod);
|
||||||
|
FreeAndNil(FViewPortWidget);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
{------------------------------------------------------------------------------
|
{------------------------------------------------------------------------------
|
||||||
Function: TQtAbstractScrollArea.setScrollStyle
|
Function: TQtAbstractScrollArea.setScrollStyle
|
||||||
Params: None
|
Params: None
|
||||||
|
Loading…
Reference in New Issue
Block a user