AppleEvent sendEvent, replyEvent;
NSAppleEventDescriptor *send, *recv;
+ AEDesc resultDesc;
+ DescType resultType;
+ Size resultSize;
AEBuildError buildError;
OSStatus berr,err;
}
err = AESend(&sendEvent, &replyEvent, kAEWaitReply, kAENormalPriority, kNoTimeOut, NULL, NULL);
- recv = [[[NSAppleEventDescriptor alloc] initWithAEDescNoCopy:&replyEvent] autorelease];
+
+ err = AESizeOfParam(&replyEvent, keyDirectObject, &resultType, &resultSize);
+ if (resultSize == 0 || err != 0) {
+ return nil;
+ }
+
+ AEGetParamDesc(&replyEvent, keyDirectObject, resultType, &resultDesc);
+
+ recv = [[[NSAppleEventDescriptor alloc] initWithAEDescNoCopy:&resultDesc] autorelease];
if (!err) [recv logDesc];
if (err) {