diff --git a/lcl/interfaces/gtk2/gtk2wsforms.pp b/lcl/interfaces/gtk2/gtk2wsforms.pp index 61361ceba8..72743c990c 100644 --- a/lcl/interfaces/gtk2/gtk2wsforms.pp +++ b/lcl/interfaces/gtk2/gtk2wsforms.pp @@ -741,7 +741,8 @@ begin end; GtkWindow := {%H-}PGtkWindow(AForm.Handle); - if (fsModal in AForm.FormState) and AForm.HandleObjectShouldBeVisible then + + if AForm.HandleObjectShouldBeVisible then begin LastMouse.Button := 0; LastMouse.ClickCount := 0; @@ -749,6 +750,10 @@ begin LastMouse.MousePos := Point(0, 0); LastMouse.Time := 0; LastMouse.WinControl := nil; + end; + + if (fsModal in AForm.FormState) and AForm.HandleObjectShouldBeVisible then + 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); gtk_window_set_type_hint({%H-}PGtkWindow(AForm.Handle),