diff --git a/src/changelog/unreleased.md b/src/changelog/unreleased.md index 2198bb7f..a8df3c34 100644 --- a/src/changelog/unreleased.md +++ b/src/changelog/unreleased.md @@ -246,3 +246,4 @@ changelog entry. - On macOS, fixed the scancode conversion for audio volume keys. - On macOS, fixed the scancode conversion for `IntlBackslash`. - On macOS, fixed redundant `SurfaceResized` event at window creation. +- On Windows, fixed crash in should_apps_use_dark_mode() for Windows versions < 17763. diff --git a/src/platform_impl/windows/dark_mode.rs b/src/platform_impl/windows/dark_mode.rs index 6d50e308..a2226f5b 100644 --- a/src/platform_impl/windows/dark_mode.rs +++ b/src/platform_impl/windows/dark_mode.rs @@ -133,6 +133,12 @@ fn should_apps_use_dark_mode() -> bool { LazyLock::new(|| unsafe { const UXTHEME_SHOULDAPPSUSEDARKMODE_ORDINAL: PCSTR = 132 as PCSTR; + // We won't try to do anything for windows versions < 17763 + // (Windows 10 October 2018 update) + if !*DARK_MODE_SUPPORTED { + return None; + } + let module = LoadLibraryA(c"uxtheme.dll".as_ptr().cast()); if module.is_null() {