[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [51826] trunk/blender/source/blender/ editors/space_file/fsmenu.c: OSX: a more friendly way to get mounted volumes, alo allows for whitespaces etc .
jens verwiebe
info at jensverwiebe.de
Fri Nov 2 21:26:42 CET 2012
Revision: 51826
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=51826
Author: jensverwiebe
Date: 2012-11-02 20:26:37 +0000 (Fri, 02 Nov 2012)
Log Message:
-----------
OSX: a more friendly way to get mounted volumes, alo allows for whitespaces etc.
Modified Paths:
--------------
trunk/blender/source/blender/editors/space_file/fsmenu.c
Modified: trunk/blender/source/blender/editors/space_file/fsmenu.c
===================================================================
--- trunk/blender/source/blender/editors/space_file/fsmenu.c 2012-11-02 20:03:15 UTC (rev 51825)
+++ trunk/blender/source/blender/editors/space_file/fsmenu.c 2012-11-02 20:26:37 UTC (rev 51826)
@@ -425,14 +425,23 @@
if (err != noErr)
continue;
- pathString = CFURLCopyFileSystemPath(cfURL, kCFURLPOSIXPathStyle);
+ /* Get mounted volumes better method see: */
+ /*https://developer.apple.com/library/mac/#documentation/CoreFOundation/Reference/CFURLRef/Reference/reference.html*/
- if (!CFStringGetCString(pathString, line, 256, kCFStringEncodingASCII))
- continue;
- fsmenu_insert_entry(fsmenu, FS_CATEGORY_SYSTEM, line, FS_INSERT_SORTED);
+ CFURLEnumeratorResult result = kCFURLEnumeratorSuccess;
+ CFURLEnumeratorRef volEnum = CFURLEnumeratorCreateForMountedVolumes(NULL, kCFURLEnumeratorSkipInvisibles, NULL);
- CFRelease(pathString);
- CFRelease(cfURL);
+ while (result != kCFURLEnumeratorEnd) {
+ unsigned char defPath[FILE_MAX];
+
+ result = CFURLEnumeratorGetNextURL(volEnum, &cfURL, NULL);
+ if (result != kCFURLEnumeratorSuccess)
+ continue;
+
+ CFURLGetFileSystemRepresentation(cfURL, false, (UInt8*)defPath, FILE_MAX);
+ fsmenu_insert_entry(fsmenu, FS_CATEGORY_SYSTEM, (char *)defPath, FS_INSERT_SORTED);
+ }
+ CFRelease(volEnum);
}
CFRelease(pathesArray);
More information about the Bf-blender-cvs
mailing list