mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-16 20:09:10 +02:00
Qt: fixed bug where fsStayOnTop forms after hide cannot be shown anymore (visible in window list but invisible on screen).
git-svn-id: trunk@26623 -
This commit is contained in:
parent
feaf0e30be
commit
32353ca72a
@ -347,6 +347,7 @@ var
|
||||
R: TRect;
|
||||
ActiveWin: HWND;
|
||||
W: QWidgetH;
|
||||
Flags: Cardinal;
|
||||
begin
|
||||
if not WSCheckHandleAllocated(AWinControl, 'ShowHide') then
|
||||
Exit;
|
||||
@ -411,6 +412,25 @@ begin
|
||||
end;
|
||||
|
||||
Widget.BeginUpdate;
|
||||
if AWinControl.HandleObjectShouldBeVisible
|
||||
and (TCustomForm(AWinControl).FormStyle in fsAllStayOnTop) then
|
||||
begin
|
||||
Flags := Widget.windowFlags;
|
||||
if (Flags and QtWindowStaysOnTopHint = 0) then
|
||||
begin
|
||||
Flags := Flags or QtWindowStaysOnTopHint;
|
||||
Widget.setWindowFlags(Flags);
|
||||
end;
|
||||
end else
|
||||
begin
|
||||
if (TCustomForm(AWinControl).FormStyle in fsAllStayOnTop)
|
||||
and not (csDestroying in AWinControl.ComponentState) then
|
||||
begin
|
||||
Flags := Widget.windowFlags;
|
||||
Flags := Flags and not QtWindowStaysOnTopHint;
|
||||
Widget.setWindowFlags(Flags);
|
||||
end;
|
||||
end;
|
||||
Widget.setVisible(AWinControl.HandleObjectShouldBeVisible);
|
||||
Widget.EndUpdate;
|
||||
{$IFDEF HASX11}
|
||||
|
Loading…
Reference in New Issue
Block a user