# HG changeset patch # User bsmith@81767d24-ef19-dc11-ae90-00e081727c95 # Date 1591995301 0 # Node ID 12a9546c3e032f4f2a0f456b9f2db09d51e5ddba # Parent 296a3872ddd97ec474ba6764ce797f573680cc0c Mac: Fix returning the correct value on query after Windows changes. Mac: Also fix some Xcode warnings regarding Mojave 10.14. Win: Fix a minor typo in the last commit diff -r 296a3872ddd9 -r 12a9546c3e03 mac/dw.m --- a/mac/dw.m Fri Jun 12 20:40:47 2020 +0000 +++ b/mac/dw.m Fri Jun 12 20:55:01 2020 +0000 @@ -12629,16 +12629,19 @@ #ifdef BUILDING_FOR_MOJAVE case DW_FEATURE_DARK_MODE: { - NSAppearance *appearance = [DWApp appearance]; - - if(appearance) - { - NSAppearanceName basicAppearance = [appearance bestMatchFromAppearancesWithNames:@[NSAppearanceNameAqua, NSAppearanceNameDarkAqua]]; - - if([basicAppearance isEqualToString:NSAppearanceNameDarkAqua]) - return 2; - if([basicAppearance isEqualToString:NSAppearanceNameAqua]) - return DW_FEATURE_DISABLED; + if(@available(macOS 10.14, *)) + { + NSAppearance *appearance = [DWApp appearance]; + + if(appearance) + { + NSAppearanceName basicAppearance = [appearance bestMatchFromAppearancesWithNames:@[NSAppearanceNameAqua, NSAppearanceNameDarkAqua]]; + + if([basicAppearance isEqualToString:NSAppearanceNameDarkAqua]) + return 3; + if([basicAppearance isEqualToString:NSAppearanceNameAqua]) + return DW_FEATURE_DISABLED; + } } return DW_FEATURE_ENABLED; } @@ -12687,7 +12690,10 @@ [DWApp setAppearance:nil]; /* 2 forces dark mode aqua appearance */ else if(state == 3) - [DWApp setAppearance:[NSAppearance appearanceNamed:NSAppearanceNameDarkAqua]]; + { + if(@available(macOS 10.14, *)) + [DWApp setAppearance:[NSAppearance appearanceNamed:NSAppearanceNameDarkAqua]]; + } else return DW_ERROR_GENERAL; return DW_ERROR_NONE; diff -r 296a3872ddd9 -r 12a9546c3e03 win/dw.c --- a/win/dw.c Fri Jun 12 20:40:47 2020 +0000 +++ b/win/dw.c Fri Jun 12 20:55:01 2020 +0000 @@ -13449,7 +13449,7 @@ #ifdef AEROGLASS case DW_FEATURE_DARK_MODE: { - if(state >= 0 && state <= 4) + if(state >= 0 && state <= 3) { _DW_DARK_MODE_ALLOWED = state; return DW_ERROR_NONE;