From e0c593741ccd390f0a4163643dd646c7ecd00203 Mon Sep 17 00:00:00 2001 From: FX Coudert Date: Sat, 18 Jun 2022 16:26:45 +0200 Subject: [PATCH] Raise minimum supported target to macOS 10.13 (High Sierra) (#3310) --- CMakeLists.txt | 2 +- Transmission.xcodeproj/project.pbxproj | 184 ++++++++++++++++++++----- macosx/Controller.mm | 12 +- macosx/GroupsController.mm | 25 ++-- macosx/GroupsPrefsController.mm | 12 +- macosx/MessageWindowController.mm | 9 +- macosx/TorrentCell.mm | 2 +- macosx/TorrentTableView.mm | 9 +- 8 files changed, 166 insertions(+), 89 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 988c12cff..43c1d9372 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,7 +7,7 @@ endif() # The value of this variable should be set prior to the first project() command invocation. # See: https://cmake.org/cmake/help/latest/variable/CMAKE_OSX_DEPLOYMENT_TARGET.html if(CMAKE_OSX_DEPLOYMENT_TARGET STREQUAL "") - set(CMAKE_OSX_DEPLOYMENT_TARGET "10.10") + set(CMAKE_OSX_DEPLOYMENT_TARGET "10.13") endif() project(transmission) diff --git a/Transmission.xcodeproj/project.pbxproj b/Transmission.xcodeproj/project.pbxproj index 9d2133b8f..ba4e3e86f 100644 --- a/Transmission.xcodeproj/project.pbxproj +++ b/Transmission.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 48; + objectVersion = 51; objects = { /* Begin PBXBuildFile section */ @@ -2687,7 +2687,7 @@ }; }; buildConfigurationList = 4DF0C59A089918A300DD8943 /* Build configuration list for PBXProject "Transmission" */; - compatibilityVersion = "Xcode 8.0"; + compatibilityVersion = "Xcode 10.0"; developmentRegion = en; hasScannedForEncodings = 1; knownRegions = ( @@ -3597,8 +3597,16 @@ ); OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)"; PRODUCT_NAME = transmission; - SYSTEM_HEADER_SEARCH_PATHS = "$(inherited) third-party/fmt/include third-party/libevent/include"; - USER_HEADER_SEARCH_PATHS = "$(inherited) third-party/libnatpmp third-party/miniupnpc"; + SYSTEM_HEADER_SEARCH_PATHS = ( + "$(inherited)", + "third-party/fmt/include", + "third-party/libevent/include", + ); + USER_HEADER_SEARCH_PATHS = ( + "$(inherited)", + "third-party/libnatpmp", + "third-party/miniupnpc", + ); }; name = Debug; }; @@ -3623,7 +3631,10 @@ OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)"; OTHER_LDFLAGS = "-lc++"; PRODUCT_NAME = Transmission; - SYSTEM_HEADER_SEARCH_PATHS = "$(inherited) third-party/fmt/include"; + SYSTEM_HEADER_SEARCH_PATHS = ( + "$(inherited)", + "third-party/fmt/include", + ); WRAPPER_EXTENSION = app; }; name = Debug; @@ -3643,7 +3654,11 @@ OTHER_CPLUSPLUSFLAGS = "$(inherited)"; OTHER_LDFLAGS = "-lc++"; PRODUCT_NAME = transmissioncli; - SYSTEM_HEADER_SEARCH_PATHS = "$(inherited) third-party/fmt/include third-party/libevent/include"; + SYSTEM_HEADER_SEARCH_PATHS = ( + "$(inherited)", + "third-party/fmt/include", + "third-party/libevent/include", + ); }; name = Debug; }; @@ -3665,7 +3680,11 @@ OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)"; OTHER_LDFLAGS = "-lc++"; PRODUCT_NAME = "transmission-daemon"; - SYSTEM_HEADER_SEARCH_PATHS = "$(inherited) third-party/fmt/include third-party/libevent/include"; + SYSTEM_HEADER_SEARCH_PATHS = ( + "$(inherited)", + "third-party/fmt/include", + "third-party/libevent/include", + ); }; name = Debug; }; @@ -3684,7 +3703,11 @@ OTHER_CPLUSPLUSFLAGS = "$(inherited)"; OTHER_LDFLAGS = "-lc++"; PRODUCT_NAME = "$(TARGET_NAME)"; - SYSTEM_HEADER_SEARCH_PATHS = "$(inherited) third-party/fmt/include third-party/libevent/include"; + SYSTEM_HEADER_SEARCH_PATHS = ( + "$(inherited)", + "third-party/fmt/include", + "third-party/libevent/include", + ); }; name = Debug; }; @@ -3742,7 +3765,7 @@ INFOPLIST_OTHER_PREPROCESSOR_FLAGS = "-traditional"; INFOPLIST_PREFIX_HEADER = libtransmission/version.h; INFOPLIST_PREPROCESS = YES; - MACOSX_DEPLOYMENT_TARGET = 10.10; + MACOSX_DEPLOYMENT_TARGET = 10.13; ONLY_ACTIVE_ARCH = YES; OTHER_CFLAGS = ( "$(inherited)", @@ -3812,8 +3835,16 @@ ); OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)"; PRODUCT_NAME = transmission; - SYSTEM_HEADER_SEARCH_PATHS = "$(inherited) third-party/fmt/include third-party/libevent/include"; - USER_HEADER_SEARCH_PATHS = "$(inherited) third-party/libnatpmp third-party/miniupnpc"; + SYSTEM_HEADER_SEARCH_PATHS = ( + "$(inherited)", + "third-party/fmt/include", + "third-party/libevent/include", + ); + USER_HEADER_SEARCH_PATHS = ( + "$(inherited)", + "third-party/libnatpmp", + "third-party/miniupnpc", + ); }; name = Release; }; @@ -3832,7 +3863,11 @@ OTHER_CPLUSPLUSFLAGS = "$(inherited)"; OTHER_LDFLAGS = "-lc++"; PRODUCT_NAME = transmissioncli; - SYSTEM_HEADER_SEARCH_PATHS = "$(inherited) third-party/fmt/include third-party/libevent/include"; + SYSTEM_HEADER_SEARCH_PATHS = ( + "$(inherited)", + "third-party/fmt/include", + "third-party/libevent/include", + ); }; name = Release; }; @@ -3857,7 +3892,10 @@ OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)"; OTHER_LDFLAGS = "-lc++"; PRODUCT_NAME = Transmission; - SYSTEM_HEADER_SEARCH_PATHS = "$(inherited) third-party/fmt/include"; + SYSTEM_HEADER_SEARCH_PATHS = ( + "$(inherited)", + "third-party/fmt/include", + ); WRAPPER_EXTENSION = app; }; name = Release; @@ -3915,7 +3953,7 @@ INFOPLIST_OTHER_PREPROCESSOR_FLAGS = "-traditional"; INFOPLIST_PREFIX_HEADER = libtransmission/version.h; INFOPLIST_PREPROCESS = YES; - MACOSX_DEPLOYMENT_TARGET = 10.10; + MACOSX_DEPLOYMENT_TARGET = 10.13; OTHER_CFLAGS = ( "$(inherited)", "-DFMT_HEADER_ONLY", @@ -4014,7 +4052,7 @@ INFOPLIST_OTHER_PREPROCESSOR_FLAGS = "-traditional"; INFOPLIST_PREFIX_HEADER = libtransmission/version.h; INFOPLIST_PREPROCESS = YES; - MACOSX_DEPLOYMENT_TARGET = 10.10; + MACOSX_DEPLOYMENT_TARGET = 10.13; ONLY_ACTIVE_ARCH = YES; OTHER_CFLAGS = ( "$(inherited)", @@ -4048,7 +4086,10 @@ OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)"; OTHER_LDFLAGS = "-lc++"; PRODUCT_NAME = Transmission; - SYSTEM_HEADER_SEARCH_PATHS = "$(inherited) third-party/fmt/include"; + SYSTEM_HEADER_SEARCH_PATHS = ( + "$(inherited)", + "third-party/fmt/include", + ); WRAPPER_EXTENSION = app; }; name = "Release - Debug"; @@ -4068,7 +4109,11 @@ OTHER_CPLUSPLUSFLAGS = "$(inherited)"; OTHER_LDFLAGS = "-lc++"; PRODUCT_NAME = transmissioncli; - SYSTEM_HEADER_SEARCH_PATHS = "$(inherited) third-party/fmt/include third-party/libevent/include"; + SYSTEM_HEADER_SEARCH_PATHS = ( + "$(inherited)", + "third-party/fmt/include", + "third-party/libevent/include", + ); }; name = "Release - Debug"; }; @@ -4099,8 +4144,16 @@ ); OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)"; PRODUCT_NAME = transmission; - SYSTEM_HEADER_SEARCH_PATHS = "$(inherited) third-party/fmt/include third-party/libevent/include"; - USER_HEADER_SEARCH_PATHS = "$(inherited) third-party/libnatpmp third-party/miniupnpc"; + SYSTEM_HEADER_SEARCH_PATHS = ( + "$(inherited)", + "third-party/fmt/include", + "third-party/libevent/include", + ); + USER_HEADER_SEARCH_PATHS = ( + "$(inherited)", + "third-party/libnatpmp", + "third-party/miniupnpc", + ); }; name = "Release - Debug"; }; @@ -4122,7 +4175,11 @@ OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)"; OTHER_LDFLAGS = "-lc++"; PRODUCT_NAME = "transmission-daemon"; - SYSTEM_HEADER_SEARCH_PATHS = "$(inherited) third-party/fmt/include third-party/libevent/include"; + SYSTEM_HEADER_SEARCH_PATHS = ( + "$(inherited)", + "third-party/fmt/include", + "third-party/libevent/include", + ); }; name = "Release - Debug"; }; @@ -4141,7 +4198,11 @@ OTHER_CPLUSPLUSFLAGS = "$(inherited)"; OTHER_LDFLAGS = "-lc++"; PRODUCT_NAME = "$(TARGET_NAME)"; - SYSTEM_HEADER_SEARCH_PATHS = "$(inherited) third-party/fmt/include third-party/libevent/include"; + SYSTEM_HEADER_SEARCH_PATHS = ( + "$(inherited)", + "third-party/fmt/include", + "third-party/libevent/include", + ); }; name = "Release - Debug"; }; @@ -4209,7 +4270,10 @@ OTHER_LDFLAGS = "-lc++"; PRODUCT_BUNDLE_IDENTIFIER = "org.m0k.transmission.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME)"; - SYSTEM_HEADER_SEARCH_PATHS = "$(inherited) third-party/fmt/include"; + SYSTEM_HEADER_SEARCH_PATHS = ( + "$(inherited)", + "third-party/fmt/include", + ); WRAPPER_EXTENSION = qlgenerator; }; name = Debug; @@ -4232,7 +4296,10 @@ OTHER_LDFLAGS = "-lc++"; PRODUCT_BUNDLE_IDENTIFIER = "org.m0k.transmission.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME)"; - SYSTEM_HEADER_SEARCH_PATHS = "$(inherited) third-party/fmt/include"; + SYSTEM_HEADER_SEARCH_PATHS = ( + "$(inherited)", + "third-party/fmt/include", + ); WRAPPER_EXTENSION = qlgenerator; }; name = "Release - Debug"; @@ -4255,7 +4322,10 @@ OTHER_LDFLAGS = "-lc++"; PRODUCT_BUNDLE_IDENTIFIER = "org.m0k.transmission.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME)"; - SYSTEM_HEADER_SEARCH_PATHS = "$(inherited) third-party/fmt/include"; + SYSTEM_HEADER_SEARCH_PATHS = ( + "$(inherited)", + "third-party/fmt/include", + ); WRAPPER_EXTENSION = qlgenerator; }; name = Release; @@ -4318,7 +4388,11 @@ OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)"; OTHER_LDFLAGS = "-lc++"; PRODUCT_NAME = "transmission-daemon"; - SYSTEM_HEADER_SEARCH_PATHS = "$(inherited) third-party/fmt/include third-party/libevent/include"; + SYSTEM_HEADER_SEARCH_PATHS = ( + "$(inherited)", + "third-party/fmt/include", + "third-party/libevent/include", + ); }; name = Release; }; @@ -4337,7 +4411,11 @@ OTHER_CPLUSPLUSFLAGS = "$(inherited)"; OTHER_LDFLAGS = "-lc++"; PRODUCT_NAME = "$(TARGET_NAME)"; - SYSTEM_HEADER_SEARCH_PATHS = "$(inherited) third-party/fmt/include third-party/libevent/include"; + SYSTEM_HEADER_SEARCH_PATHS = ( + "$(inherited)", + "third-party/fmt/include", + "third-party/libevent/include", + ); }; name = Release; }; @@ -4470,7 +4548,11 @@ OTHER_CPLUSPLUSFLAGS = "$(inherited)"; OTHER_LDFLAGS = "-lc++"; PRODUCT_NAME = "$(TARGET_NAME)"; - SYSTEM_HEADER_SEARCH_PATHS = "$(inherited) third-party/fmt/include third-party/libevent/include"; + SYSTEM_HEADER_SEARCH_PATHS = ( + "$(inherited)", + "third-party/fmt/include", + "third-party/libevent/include", + ); }; name = Debug; }; @@ -4489,7 +4571,11 @@ OTHER_CPLUSPLUSFLAGS = "$(inherited)"; OTHER_LDFLAGS = "-lc++"; PRODUCT_NAME = "$(TARGET_NAME)"; - SYSTEM_HEADER_SEARCH_PATHS = "$(inherited) third-party/fmt/include third-party/libevent/include"; + SYSTEM_HEADER_SEARCH_PATHS = ( + "$(inherited)", + "third-party/fmt/include", + "third-party/libevent/include", + ); }; name = "Release - Debug"; }; @@ -4508,7 +4594,11 @@ OTHER_CPLUSPLUSFLAGS = "$(inherited)"; OTHER_LDFLAGS = "-lc++"; PRODUCT_NAME = "$(TARGET_NAME)"; - SYSTEM_HEADER_SEARCH_PATHS = "$(inherited) third-party/fmt/include third-party/libevent/include"; + SYSTEM_HEADER_SEARCH_PATHS = ( + "$(inherited)", + "third-party/fmt/include", + "third-party/libevent/include", + ); }; name = Release; }; @@ -4527,7 +4617,11 @@ OTHER_CPLUSPLUSFLAGS = "$(inherited)"; OTHER_LDFLAGS = "-lc++"; PRODUCT_NAME = "$(TARGET_NAME)"; - SYSTEM_HEADER_SEARCH_PATHS = "$(inherited) third-party/fmt/include third-party/libevent/include"; + SYSTEM_HEADER_SEARCH_PATHS = ( + "$(inherited)", + "third-party/fmt/include", + "third-party/libevent/include", + ); }; name = Debug; }; @@ -4546,7 +4640,11 @@ OTHER_CPLUSPLUSFLAGS = "$(inherited)"; OTHER_LDFLAGS = "-lc++"; PRODUCT_NAME = "$(TARGET_NAME)"; - SYSTEM_HEADER_SEARCH_PATHS = "$(inherited) third-party/fmt/include third-party/libevent/include"; + SYSTEM_HEADER_SEARCH_PATHS = ( + "$(inherited)", + "third-party/fmt/include", + "third-party/libevent/include", + ); }; name = "Release - Debug"; }; @@ -4565,7 +4663,11 @@ OTHER_CPLUSPLUSFLAGS = "$(inherited)"; OTHER_LDFLAGS = "-lc++"; PRODUCT_NAME = "$(TARGET_NAME)"; - SYSTEM_HEADER_SEARCH_PATHS = "$(inherited) third-party/fmt/include third-party/libevent/include"; + SYSTEM_HEADER_SEARCH_PATHS = ( + "$(inherited)", + "third-party/fmt/include", + "third-party/libevent/include", + ); }; name = Release; }; @@ -4584,7 +4686,11 @@ OTHER_CPLUSPLUSFLAGS = "$(inherited)"; OTHER_LDFLAGS = "-lc++"; PRODUCT_NAME = "$(TARGET_NAME)"; - SYSTEM_HEADER_SEARCH_PATHS = "$(inherited) third-party/fmt/include third-party/libevent/include"; + SYSTEM_HEADER_SEARCH_PATHS = ( + "$(inherited)", + "third-party/fmt/include", + "third-party/libevent/include", + ); }; name = Debug; }; @@ -4603,7 +4709,11 @@ OTHER_CPLUSPLUSFLAGS = "$(inherited)"; OTHER_LDFLAGS = "-lc++"; PRODUCT_NAME = "$(TARGET_NAME)"; - SYSTEM_HEADER_SEARCH_PATHS = "$(inherited) third-party/fmt/include third-party/libevent/include"; + SYSTEM_HEADER_SEARCH_PATHS = ( + "$(inherited)", + "third-party/fmt/include", + "third-party/libevent/include", + ); }; name = "Release - Debug"; }; @@ -4622,7 +4732,11 @@ OTHER_CPLUSPLUSFLAGS = "$(inherited)"; OTHER_LDFLAGS = "-lc++"; PRODUCT_NAME = "$(TARGET_NAME)"; - SYSTEM_HEADER_SEARCH_PATHS = "$(inherited) third-party/fmt/include third-party/libevent/include"; + SYSTEM_HEADER_SEARCH_PATHS = ( + "$(inherited)", + "third-party/fmt/include", + "third-party/libevent/include", + ); }; name = Release; }; diff --git a/macosx/Controller.mm b/macosx/Controller.mm index 2a73b40e7..2a2adaa60 100644 --- a/macosx/Controller.mm +++ b/macosx/Controller.mm @@ -3564,16 +3564,8 @@ static void removeKeRangerRansomware() NSPasteboard* pasteboard = info.draggingPasteboard; if ([pasteboard.types containsObject:TORRENT_TABLE_VIEW_DATA_TYPE]) { - NSIndexSet* indexes; - if (@available(macOS 10.13, *)) - { - indexes = [NSKeyedUnarchiver unarchivedObjectOfClass:NSIndexSet.class fromData:[pasteboard dataForType:TORRENT_TABLE_VIEW_DATA_TYPE] - error:nil]; - } - else - { - indexes = [NSKeyedUnarchiver unarchiveObjectWithData:[pasteboard dataForType:TORRENT_TABLE_VIEW_DATA_TYPE]]; - } + NSIndexSet* indexes = [NSKeyedUnarchiver unarchivedObjectOfClass:NSIndexSet.class fromData:[pasteboard dataForType:TORRENT_TABLE_VIEW_DATA_TYPE] + error:nil]; //get the torrents to move NSMutableArray* movingTorrents = [NSMutableArray arrayWithCapacity:indexes.count]; diff --git a/macosx/GroupsController.mm b/macosx/GroupsController.mm index 6035cdd19..d4299e13c 100644 --- a/macosx/GroupsController.mm +++ b/macosx/GroupsController.mm @@ -42,22 +42,15 @@ GroupsController* fGroupsInstance = nil; NSData* data; if ((data = [NSUserDefaults.standardUserDefaults dataForKey:@"GroupDicts"])) { - if (@available(macOS 10.13, *)) - { - _fGroups = [NSKeyedUnarchiver unarchivedObjectOfClasses:[NSSet setWithObjects:NSMutableArray.class, - NSMutableDictionary.class, - NSNumber.class, - NSColor.class, - NSString.class, - NSPredicate.class, - nil] - fromData:data - error:nil]; - } - else - { - _fGroups = [NSKeyedUnarchiver unarchiveObjectWithData:data]; - } + _fGroups = [NSKeyedUnarchiver unarchivedObjectOfClasses:[NSSet setWithObjects:NSMutableArray.class, + NSMutableDictionary.class, + NSNumber.class, + NSColor.class, + NSString.class, + NSPredicate.class, + nil] + fromData:data + error:nil]; } else if ((data = [NSUserDefaults.standardUserDefaults dataForKey:@"Groups"])) //handle old groups { diff --git a/macosx/GroupsPrefsController.mm b/macosx/GroupsPrefsController.mm index ce70b212c..3aec4e2a4 100644 --- a/macosx/GroupsPrefsController.mm +++ b/macosx/GroupsPrefsController.mm @@ -121,16 +121,8 @@ NSPasteboard* pasteboard = info.draggingPasteboard; if ([pasteboard.types containsObject:GROUP_TABLE_VIEW_DATA_TYPE]) { - NSIndexSet* indexes; - if (@available(macOS 10.13, *)) - { - indexes = [NSKeyedUnarchiver unarchivedObjectOfClass:NSIndexSet.class fromData:[pasteboard dataForType:GROUP_TABLE_VIEW_DATA_TYPE] - error:nil]; - } - else - { - indexes = [NSKeyedUnarchiver unarchiveObjectWithData:[pasteboard dataForType:GROUP_TABLE_VIEW_DATA_TYPE]]; - } + NSIndexSet* indexes = [NSKeyedUnarchiver unarchivedObjectOfClass:NSIndexSet.class fromData:[pasteboard dataForType:GROUP_TABLE_VIEW_DATA_TYPE] + error:nil]; NSInteger oldRow = indexes.firstIndex; if (oldRow < newRow) diff --git a/macosx/MessageWindowController.mm b/macosx/MessageWindowController.mm index 4b078c4f9..925bd54d2 100644 --- a/macosx/MessageWindowController.mm +++ b/macosx/MessageWindowController.mm @@ -206,14 +206,7 @@ break; case TR_LOG_DEBUG: - if (@available(macOS 10.12, *)) - { - color = NSColor.systemTealColor; - } - else - { - color = NSColor.cyanColor; - } + color = NSColor.systemTealColor; break; case TR_LOG_TRACE: diff --git a/macosx/TorrentCell.mm b/macosx/TorrentCell.mm index 563115a72..65a0b69a3 100644 --- a/macosx/TorrentCell.mm +++ b/macosx/TorrentCell.mm @@ -320,7 +320,7 @@ NSRect groupRect = [self groupIconRectForBounds:iconRect]; NSColor* groupColor = [GroupsController.groups colorForIndex:groupValue]; NSImage* icon = [NSImage discIconWithColor:groupColor insetFactor:0]; - [icon drawInRect:groupRect fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1.0f]; + [icon drawInRect:groupRect fromRect:NSZeroRect operation:NSCompositingOperationSourceOver fraction:1.0f]; } BOOL const error = torrent.anyErrorOrWarning; diff --git a/macosx/TorrentTableView.mm b/macosx/TorrentTableView.mm index ae7cd032b..f5b0edf6d 100644 --- a/macosx/TorrentTableView.mm +++ b/macosx/TorrentTableView.mm @@ -74,14 +74,7 @@ NSData* groupData; if ((groupData = [_fDefaults dataForKey:@"CollapsedGroupIndexes"])) { - if (@available(macOS 10.13, *)) - { - _fCollapsedGroups = [NSKeyedUnarchiver unarchivedObjectOfClass:NSMutableIndexSet.class fromData:groupData error:nil]; - } - else - { - _fCollapsedGroups = [NSKeyedUnarchiver unarchiveObjectWithData:groupData]; - } + _fCollapsedGroups = [NSKeyedUnarchiver unarchivedObjectOfClass:NSMutableIndexSet.class fromData:groupData error:nil]; } else if ((groupData = [_fDefaults dataForKey:@"CollapsedGroups"])) //handle old groups {