Also ignore OSErrors when reading lParam

This commit is contained in:
Kovid Goyal 2022-02-02 08:37:37 +05:30
parent e4e0b6c439
commit c199112ab3
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C

View File

@ -1651,10 +1651,15 @@ if iswindows:
msg = ctypes.wintypes.MSG.from_address(message.__int__())
# https://docs.microsoft.com/en-us/windows/win32/winmsg/wm-settingchange
if msg.message == 0x001A and msg.lParam: # WM_SETTINGCHANGE
if ctypes.wstring_at(msg.lParam) == 'ImmersiveColorSet':
QApplication.instance().check_for_windows_palette_change()
# prevent Qt from handling this event
return True, 0
try:
s = ctypes.wstring_at(msg.lParam)
except OSError:
pass
else:
if s == 'ImmersiveColorSet':
QApplication.instance().check_for_windows_palette_change()
# prevent Qt from handling this event
return True, 0
return False, 0