summaryrefslogtreecommitdiff
path: root/src/gui
diff options
context:
space:
mode:
authorAndrew Haines <andrewd207@aol.com>2015-02-01 09:37:07 -0500
committerAndrew Haines <andrewd207@aol.com>2015-02-01 09:37:07 -0500
commitdef6be738e34d5ff5d4679a96d25c137aac31e31 (patch)
treeae93f9c8ab2eeb0fcb4722669237b9955e03bae6 /src/gui
parentfd68cfe060b6c51ef515e61931474e1a088e1ca9 (diff)
downloadfpGUI-def6be738e34d5ff5d4679a96d25c137aac31e31.tar.xz
Changes to allow modal windows to have owners.
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/fpg_dialogs.pas2
-rw-r--r--src/gui/fpg_form.pas2
-rw-r--r--src/gui/fpg_menu.pas1
3 files changed, 5 insertions, 0 deletions
diff --git a/src/gui/fpg_dialogs.pas b/src/gui/fpg_dialogs.pas
index 8f3639e6..99c5b208 100644
--- a/src/gui/fpg_dialogs.pas
+++ b/src/gui/fpg_dialogs.pas
@@ -577,6 +577,8 @@ end;
constructor TfpgBaseDialog.Create(AOwner: TComponent);
begin
+ // WindowType must be set before inherited or our parent property will be set
+ WindowType:=wtModalForm;
inherited Create(AOwner);
Width := 500;
Height := 400;
diff --git a/src/gui/fpg_form.pas b/src/gui/fpg_form.pas
index 7d5fe042..c80a1e53 100644
--- a/src/gui/fpg_form.pas
+++ b/src/gui/fpg_form.pas
@@ -342,6 +342,8 @@ function TfpgBaseForm.ShowModal: TfpgModalResult;
var
lCloseAction: TCloseAction;
begin
+ if HasHandle and (FWindowType <> wtModalForm) then
+ HandleHide;
FWindowType := wtModalForm;
fpgApplication.PushModalForm(self);
ModalResult := mrNone;
diff --git a/src/gui/fpg_menu.pas b/src/gui/fpg_menu.pas
index ee345927..3310db48 100644
--- a/src/gui/fpg_menu.pas
+++ b/src/gui/fpg_menu.pas
@@ -1341,6 +1341,7 @@ end;
constructor TfpgPopupMenu.Create(AOwner: TComponent);
begin
+ FWindowType:=wtPopup;
inherited Create(AOwner);
FMargin := 3;
FTextMargin := 3;