diff options
author | RĂ©mi Verschelde <rverschelde@gmail.com> | 2019-10-22 13:47:06 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-10-22 13:47:06 +0200 |
commit | d335cd4877c32db9bc5e84acb0a1b151b5c1bac1 (patch) | |
tree | 172c353dbd571c62488aefcefc64b8f45164399a /platform/osx | |
parent | b67537b14b293e67a35ffe1c41e3cc0648076f0c (diff) | |
parent | d8c2e6a31a088507d7828948711a6d58e7c23292 (diff) |
Merge pull request #32904 from bruvzg/mac_vol_list
[macOS] Various volume list fixes
Diffstat (limited to 'platform/osx')
-rw-r--r-- | platform/osx/dir_access_osx.mm | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/platform/osx/dir_access_osx.mm b/platform/osx/dir_access_osx.mm index ada142005b..75f50aaa28 100644 --- a/platform/osx/dir_access_osx.mm +++ b/platform/osx/dir_access_osx.mm @@ -48,18 +48,25 @@ String DirAccessOSX::fix_unicode_name(const char *p_name) const { } int DirAccessOSX::get_drive_count() { - NSArray *vols = [[NSWorkspace sharedWorkspace] mountedLocalVolumePaths]; + NSArray *res_keys = [NSArray arrayWithObjects:NSURLVolumeURLKey, NSURLIsSystemImmutableKey, nil]; + NSArray *vols = [[NSFileManager defaultManager] mountedVolumeURLsIncludingResourceValuesForKeys:res_keys options:NSVolumeEnumerationSkipHiddenVolumes]; + return [vols count]; } String DirAccessOSX::get_drive(int p_drive) { - NSArray *vols = [[NSWorkspace sharedWorkspace] mountedLocalVolumePaths]; + NSArray *res_keys = [NSArray arrayWithObjects:NSURLVolumeURLKey, NSURLIsSystemImmutableKey, nil]; + NSArray *vols = [[NSFileManager defaultManager] mountedVolumeURLsIncludingResourceValuesForKeys:res_keys options:NSVolumeEnumerationSkipHiddenVolumes]; int count = [vols count]; ERR_FAIL_INDEX_V(p_drive, count, ""); - NSString *path = vols[p_drive]; - return String([path UTF8String]); + String volname; + NSString *path = [vols[p_drive] path]; + + volname.parse_utf8([path UTF8String]); + + return volname; } #endif //posix_enabled |