mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-23 20:50:40 +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;
|
R: TRect;
|
||||||
ActiveWin: HWND;
|
ActiveWin: HWND;
|
||||||
W: QWidgetH;
|
W: QWidgetH;
|
||||||
|
Flags: Cardinal;
|
||||||
begin
|
begin
|
||||||
if not WSCheckHandleAllocated(AWinControl, 'ShowHide') then
|
if not WSCheckHandleAllocated(AWinControl, 'ShowHide') then
|
||||||
Exit;
|
Exit;
|
||||||
@ -411,6 +412,25 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
Widget.BeginUpdate;
|
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.setVisible(AWinControl.HandleObjectShouldBeVisible);
|
||||||
Widget.EndUpdate;
|
Widget.EndUpdate;
|
||||||
{$IFDEF HASX11}
|
{$IFDEF HASX11}
|
||||||
|
Loading…
Reference in New Issue
Block a user