LCL: Win32: Test IsEnableWindow before EnableWindow to prevent looping calls after Win 10 update 1803. Issue #33923. Patch by BrunoK

git-svn-id: trunk@58511 -
This commit is contained in:
michl 2018-07-13 22:07:12 +00:00
parent 5763246b85
commit e10300985b

View File

@ -1221,8 +1221,14 @@ end;
control. control.
------------------------------------------------------------------------------} ------------------------------------------------------------------------------}
function TWin32WidgetSet.EnableWindow(HWnd: HWND; BEnable: Boolean): Boolean; function TWin32WidgetSet.EnableWindow(HWnd: HWND; BEnable: Boolean): Boolean;
var
OldEnable: Boolean;
begin begin
Result := Boolean(Windows.EnableWindow(HWnd, BEnable)); OldEnable := IsWindowEnabled(HWnd);
if OldEnable <> BEnable then
Result := Boolean(Windows.EnableWindow(HWnd, BEnable))
else
Result := not OldEnable;
end; end;
{------------------------------------------------------------------------------ {------------------------------------------------------------------------------