From eb6cd6b9d0004f147ddee43ac93f0523c5ac3b02 Mon Sep 17 00:00:00 2001 From: zeljko Date: Thu, 22 Oct 2015 12:55:27 +0000 Subject: [PATCH] Qt: better handling of forms with borderstyle = bsNone. issue #26018, related to issue #28863 git-svn-id: trunk@50139 - --- lcl/interfaces/qt/qtwsforms.pp | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/lcl/interfaces/qt/qtwsforms.pp b/lcl/interfaces/qt/qtwsforms.pp index 2fe8ff304f..fe11a4bb4e 100644 --- a/lcl/interfaces/qt/qtwsforms.pp +++ b/lcl/interfaces/qt/qtwsforms.pp @@ -556,21 +556,18 @@ begin if AWinControl.HandleObjectShouldBeVisible and not (TCustomForm(AWinControl).FormStyle in fsAllStayOnTop) and not (fsModal in TCustomForm(AWinControl).FormState) and + (TCustomForm(AWinControl).FormStyle <> fsMDIChild) and (TCustomForm(AWinControl).PopupMode = pmAuto) and (TCustomForm(AWinControl).BorderStyle = bsNone) and (TCustomForm(AWinControl).PopupParent = nil) then begin W := QApplication_activeWindow; - if (W <> nil) and not QWidget_isModal(W) then - begin - Flags := QWidget_windowFlags(W); - if (Flags and QtWindowStaysOnTopHint <> QtWindowStaysOnTopHint) and - GetAlwaysOnTopX11(W) then - begin - Flags := Widget.windowFlags; - Widget.setWindowFlags(Flags or QtWindowStaysOnTopHint); - end; - end; + Flags := Widget.windowFlags; + if W <> nil then + Widget.setParent(W) + else + Widget.setParent(QApplication_desktop); + Widget.setWindowFlags(Flags or QtTool); end; {$ENDIF} end;