Gtk2: fixed showing and handling of popup forms over modal forms.issues #20074 and #20369

git-svn-id: trunk@34676 -
This commit is contained in:
zeljko 2012-01-09 11:41:32 +00:00
parent 3066c21737
commit 93ebe05b41

View File

@ -617,9 +617,18 @@ begin
gtk_window_set_default_size(GtkWindow, Max(1,AForm.Width), Max(1,AForm.Height));
gtk_widget_set_uposition(PGtkWidget(GtkWindow), AForm.Left, AForm.Top);
GtkWindowShowModal(AForm, GtkWindow);
end
else
end else
begin
if (AForm.FormStyle <> fsMDIChild) and AForm.HandleObjectShouldBeVisible and
(ModalWindows <> nil) and (ModalWindows.Count > 0) and
(AForm.PopupParent = nil) and (AForm.BorderStyle = bsNone) then
begin
GtkWindow := PGtkWindow(AForm.Handle);
gtk_window_set_transient_for(GtkWindow, nil);
gtk_window_set_modal(GtkWindow, True);
end;
Gtk2WidgetSet.SetVisible(AWinControl, AForm.HandleObjectShouldBeVisible);
end;
InvalidateLastWFPResult(AWinControl, AWinControl.BoundsRect);
end;