diff options
author | Andrew Niefer | 2011-11-22 15:32:52 +0000 |
---|---|---|
committer | Andrew Niefer | 2011-11-22 15:32:52 +0000 |
commit | 771097500aa2abe1d82a2d470da75cc8ba79ce89 (patch) | |
tree | 11c34befbe0ca844767f2ba4394475b1b073a64e | |
parent | ca9e077cbbc71890c98984275742363c0cdae597 (diff) | |
download | rt.equinox.framework-771097500aa2abe1d82a2d470da75cc8ba79ce89.tar.gz rt.equinox.framework-771097500aa2abe1d82a2d470da75cc8ba79ce89.tar.xz rt.equinox.framework-771097500aa2abe1d82a2d470da75cc8ba79ce89.zip |
Bug 353185 - Eclipse crashes on updateSplash at startup when launched by
launchd
https://bugs.eclipse.org/bugs/show_bug.cgi?id=353185
-rw-r--r-- | bundles/org.eclipse.equinox.executable/library/carbon/eclipseCarbon.c | 24 | ||||
-rw-r--r-- | bundles/org.eclipse.equinox.executable/library/make_version.mak | 2 |
2 files changed, 15 insertions, 11 deletions
diff --git a/bundles/org.eclipse.equinox.executable/library/carbon/eclipseCarbon.c b/bundles/org.eclipse.equinox.executable/library/carbon/eclipseCarbon.c index c91f213fc..794395731 100644 --- a/bundles/org.eclipse.equinox.executable/library/carbon/eclipseCarbon.c +++ b/bundles/org.eclipse.equinox.executable/library/carbon/eclipseCarbon.c @@ -118,16 +118,20 @@ static NSWindow* window = nil; } for (index = 1; index<=count; index++) { - NSAppleEventDescriptor *desc = [event descriptorAtIndex:index]; - if (desc) { - desc = [desc coerceToDescriptorType:typeFSRef]; - CFURLRef url = CFURLCreateFromFSRef(kCFAllocatorDefault, [[desc data] bytes]); - if (url) { - NSString *pathName = (NSString *)CFURLCopyFileSystemPath(url, kCFURLPOSIXPathStyle); - [files addObject:pathName]; - [pathName release]; - CFRelease(url); - } + CFURLRef url = NULL; + NSAppleEventDescriptor *desc = [event descriptorAtIndex:index], *coerceDesc; + if (!desc) continue; + if ((coerceDesc = [desc coerceToDescriptorType: typeFSRef]) != NULL) { + url = CFURLCreateFromFSRef(kCFAllocatorDefault, [[coerceDesc data] bytes]); + } else if ((coerceDesc = [desc coerceToDescriptorType: typeFileURL]) != NULL) { + NSData *data = [coerceDesc data]; + url = CFURLCreateWithBytes(kCFAllocatorDefault, [data bytes], [data length], kCFStringEncodingUTF8, NULL); + } + if (url) { + NSString *pathName = (NSString *)CFURLCopyFileSystemPath(url, kCFURLPOSIXPathStyle); + [files addObject:pathName]; + [pathName release]; + CFRelease(url); } } diff --git a/bundles/org.eclipse.equinox.executable/library/make_version.mak b/bundles/org.eclipse.equinox.executable/library/make_version.mak index 89d5d1183..8212bb3c7 100644 --- a/bundles/org.eclipse.equinox.executable/library/make_version.mak +++ b/bundles/org.eclipse.equinox.executable/library/make_version.mak @@ -10,5 +10,5 @@ #******************************************************************************* maj_ver=1 -min_ver=500 +min_ver=501 LIB_VERSION = $(maj_ver)$(min_ver) |