yet another attempt to solve Mac event-loop AE problems

svn: r14051
This commit is contained in:
Matthew Flatt 2009-03-11 16:51:19 +00:00
parent d474b2bfd0
commit 007ff4649d

View File

@ -300,15 +300,17 @@ static void EnsureWNEReturn()
ProcessSerialNumber psn; ProcessSerialNumber psn;
AppleEvent ae, ae_target; AppleEvent ae, ae_target;
pending_self_ae = 1; if (GetCurrentProcess(&psn) == noErr) {
if (AECreateDesc(typeProcessSerialNumber, &psn, sizeof(psn), &ae_target) == noErr) {
GetCurrentProcess(&psn); if (AECreateAppleEvent('MrEd', 'Smug', &ae_target, kAutoGenerateReturnID, kAnyTransactionID, &ae) == noErr) {
AECreateDesc(typeProcessSerialNumber, &psn, sizeof(psn), &ae_target); if (AESend(&ae, NULL, kAENoReply, kAENormalPriority, kNoTimeOut, NULL, NULL) == noErr) {
AECreateAppleEvent('MrEd', 'Smug', &ae_target, kAutoGenerateReturnID, kAnyTransactionID, &ae); pending_self_ae = 1;
AESend(&ae, NULL, kAENoReply, kAENormalPriority, kNoTimeOut, NULL, NULL); }
/* Not supposed to dispose? */ AEDisposeDesc(&ae_target);
/* AEDisposeDesc(&ae); */ }
/* AEDisposeDesc(&ae_target); */ AEDisposeDesc(&ae);
}
}
} }
} }