summaryrefslogtreecommitdiffstats
path: root/Lib/plat-mac
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/plat-mac')
-rw-r--r--Lib/plat-mac/aetools.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/Lib/plat-mac/aetools.py b/Lib/plat-mac/aetools.py
index 8ac293d..0639541 100644
--- a/Lib/plat-mac/aetools.py
+++ b/Lib/plat-mac/aetools.py
@@ -26,12 +26,16 @@ from Carbon import AE
from Carbon import AppleEvents
import MacOS
import sys
+import time
from aetypes import *
from aepack import packkey, pack, unpack, coerce, AEDescType
Error = 'aetools.Error'
+# Amount of time to wait for program to be launched
+LAUNCH_MAX_WAIT_TIME=10
+
# Special code to unpack an AppleEvent (which is *not* a disguised record!)
# Note by Jack: No??!? If I read the docs correctly it *is*....
@@ -174,6 +178,14 @@ class TalkTo:
self.send('ascr', 'noop')
except AE.Error:
_launch(self.target_signature)
+ for i in range(LAUNCH_MAX_WAIT_TIME):
+ try:
+ self.send('ascr', 'noop')
+ except AE.Error:
+ pass
+ else:
+ break
+ time.sleep(1)
def start(self):
"""Deprecated, used _start()"""