mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-17 23:29:25 +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 setVisible(visible: Boolean); override;
|
||||
procedure viewportNeeded;
|
||||
procedure viewportDelete;
|
||||
end;
|
||||
|
||||
{ TQtViewPort }
|
||||
@ -6864,8 +6865,7 @@ begin
|
||||
{$ifdef VerboseQt}
|
||||
WriteLn('TQAbstractScrollArea.Destroy');
|
||||
{$endif}
|
||||
if Assigned(FViewPortWidget) then
|
||||
FreeAndNil(FViewPortWidget);
|
||||
viewportDelete;
|
||||
|
||||
inherited Destroy;
|
||||
end;
|
||||
@ -7127,6 +7127,18 @@ begin
|
||||
setViewport(FViewPortWidget.Widget);
|
||||
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
|
||||
Params: None
|
||||
|
Loading…
Reference in New Issue
Block a user