mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-11-03 23:59:32 +01:00
Gtk2: fixed modal forms behaviour under compositing window managers.Patch by Cedric. issue #27007
git-svn-id: trunk@47057 -
This commit is contained in:
parent
49d77cd1cc
commit
d13b57a679
@ -3490,6 +3490,9 @@ begin
|
||||
{$IFDEF VerboseTransient}
|
||||
DebugLn('DestroyCommonDialogAddOns ',DbgSName(ADialog));
|
||||
{$ENDIF}
|
||||
{$IFDEF HASX}
|
||||
gtk_window_set_modal(PGtkWindow(DlgWindow),false);
|
||||
{$ENDIF}
|
||||
gtk_window_set_transient_for(PGtkWindow(DlgWindow),nil);
|
||||
if ADialog is TOpenDialog then begin
|
||||
FileSelWidget:=GTK_FILE_CHOOSER(DlgWindow);
|
||||
|
||||
@ -748,10 +748,13 @@ begin
|
||||
end else begin
|
||||
// hiding/showing normal form
|
||||
// clear former mods, e.g. when a modal form becomes a normal form, see bug 23876
|
||||
// hide before disable modal see bug 27070
|
||||
Gtk2WidgetSet.SetVisible(AWinControl, AForm.HandleObjectShouldBeVisible);
|
||||
{$IFDEF HASX}
|
||||
gtk_window_set_modal(GtkWindow, False);
|
||||
gtk_window_set_transient_for(GtkWindow, nil); //untransient
|
||||
{$ELSE}
|
||||
gtk_window_set_transient_for(GtkWindow, nil); //untransient
|
||||
gtk_window_set_modal(GtkWindow, False);
|
||||
{$ENDIF}
|
||||
end;
|
||||
|
||||
{$IFDEF HASX}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user