From 46d16a475cb860b61971a9adff7e77a91efe1df0 Mon Sep 17 00:00:00 2001 From: Stefan Csomor Date: Sat, 25 Oct 2025 10:37:14 +0200 Subject: [PATCH 16/48] trying to make code gcc and macOS < 10.7 compatible --- src/osx/volume.mm | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/src/osx/volume.mm b/src/osx/volume.mm index c26a91d8ca..a1bccc19cb 100644 --- a/src/osx/volume.mm +++ b/src/osx/volume.mm @@ -35,13 +35,22 @@ #import #import +#if __MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_7 + +#define NSURLVolumeLocalizedNameKey @"NSURLVolumeLocalizedNameKey" +#define NSURLVolumeIsLocalKey @"NSURLVolumeIsLocalKey" +#define NSURLVolumeIsReadOnlyKey @"NSURLVolumeIsReadOnlyKey" +#define NSURLVolumeIsRemovableKey @"NSURLVolumeIsRemovableKey" + +#endif + //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // wxFSVolume //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ wxArrayString wxFSVolumeBase::GetVolumes(int flagsSet, int flagsUnset) { - auto nativeVolumes = [[NSFileManager defaultManager] + NSArray* nativeVolumes = [[NSFileManager defaultManager] mountedVolumeURLsIncludingResourceValuesForKeys:nil options:NSVolumeEnumerationSkipHiddenVolumes]; @@ -56,13 +65,14 @@ } else { - for (NSURL* url in nativeVolumes) + wxOBJC_FOR_LOOP(NSURL* url, nativeVolumes) { wxFSVolumeBase volume(url.fileSystemRepresentation); int flags = volume.GetFlags(); if ((flags & flagsSet) == flagsSet && !(flags & flagsUnset)) volumePaths.push_back(volume.GetName()); } + wxOBJC_END_FOR_LOOP } return volumePaths; } @@ -87,7 +97,7 @@ m_volName = name; NSURL* url = [NSURL fileURLWithPath:wxCFStringRef(name).AsNSString()]; - auto values = [url resourceValuesForKeys:@[NSURLVolumeLocalizedNameKey] error:nil]; + NSDictionary* values = [url resourceValuesForKeys:@[NSURLVolumeLocalizedNameKey] error:nil]; if (values) { m_isOk = true; @@ -105,7 +115,7 @@ wxFSVolumeKind wxFSVolumeBase::GetKind() const { NSURL* url = [NSURL fileURLWithPath:wxCFStringRef(GetName()).AsNSString()]; - auto values = [url resourceValuesForKeys:@[NSURLVolumeIsLocalKey, NSURLVolumeIsReadOnlyKey] error:nil]; + NSDictionary* values = [url resourceValuesForKeys:@[NSURLVolumeIsLocalKey, NSURLVolumeIsReadOnlyKey] error:nil]; // Assume disk for local volumes if ([(NSNumber*)[values objectForKey:NSURLVolumeIsLocalKey] boolValue]) @@ -122,7 +132,7 @@ int wxFSVolumeBase::GetFlags() const { NSURL* url = [NSURL fileURLWithPath:wxCFStringRef(GetName()).AsNSString()]; - auto values = [url resourceValuesForKeys:@[NSURLVolumeIsRemovableKey, NSURLVolumeIsLocalKey, NSURLVolumeIsReadOnlyKey] error:nil]; + NSDictionary* values = [url resourceValuesForKeys:@[NSURLVolumeIsRemovableKey, NSURLVolumeIsLocalKey, NSURLVolumeIsReadOnlyKey] error:nil]; if (values) { // mounted status cannot be determined, assume mounted -- 2.24.3 (Apple Git-128)