From 23680b8def71d7280d19e9f2815780e524b22924 Mon Sep 17 00:00:00 2001 From: zeljko Date: Mon, 29 Feb 2016 12:05:49 +0000 Subject: [PATCH] Qt: set popupparent if GetRealPopupParent returns form.Patch by Ondrej Pokorny. issue #29744 git-svn-id: trunk@51754 - --- lcl/interfaces/qt/qtwsforms.pp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lcl/interfaces/qt/qtwsforms.pp b/lcl/interfaces/qt/qtwsforms.pp index a3f7e41c29..995b92bad0 100644 --- a/lcl/interfaces/qt/qtwsforms.pp +++ b/lcl/interfaces/qt/qtwsforms.pp @@ -379,8 +379,10 @@ const var Widget: TQtMainWindow; R: TRect; - {$IFDEF HASX11} + {$IF (DEFINED HASX11) OR DEFINED(MSWINDOWS)} APopupParent: TCustomForm; + {$ENDIF} + {$IFDEF HASX11} ActiveWin: HWND; W: QWidgetH; {$ENDIF} @@ -437,7 +439,11 @@ begin if (TForm(AWinControl).BorderStyle in [bsToolWindow, bsSizeToolWin]) then QWidget_setWindowFlags(Widget.Widget, QtDialog); // show modal windows in taskbar, not above start button. issue #29744 - QWidget_setParent(Widget.Widget, QApplication_desktop); + APopupParent := TCustomForm(AWinControl).GetRealPopupParent; + if (APopupParent <> nil) then + QWidget_setParent(Widget.Widget, TQtWidget(APopupParent.Handle).Widget) + else + QWidget_setParent(Widget.Widget, QApplication_desktop); {$endif} {$ifdef HASX11}