diff --git a/lcl/interfaces/win32/win32callback.inc b/lcl/interfaces/win32/win32callback.inc index 4efb2ab345..d60e5e0b22 100644 --- a/lcl/interfaces/win32/win32callback.inc +++ b/lcl/interfaces/win32/win32callback.inc @@ -1743,7 +1743,10 @@ begin else Flags := SW_SHOWNOACTIVATE; Windows.ShowWindow(Win32WidgetSet.AppHandle, Flags); - end; + end + else + if Assigned(lWinControl) and (WParam <> 0) and not lWinControl.Visible then + WinProcess := false; end; procedure TWindowProcHelper.DoMsgSysKey(aMsg: Cardinal); diff --git a/lcl/interfaces/win32/win32wsforms.pp b/lcl/interfaces/win32/win32wsforms.pp index 4e190636b8..89253d6f32 100644 --- a/lcl/interfaces/win32/win32wsforms.pp +++ b/lcl/interfaces/win32/win32wsforms.pp @@ -373,7 +373,7 @@ begin end; SW_PARENTOPENING: begin - if Info^.RestoreState <> 0 then + if (Info^.RestoreState <> 0) and WinControl.Visible then begin Windows.ShowWindowAsync(Window, Info^.RestoreState); Info^.RestoreState := 0;