diff options
-rw-r--r-- | Lib/plat-mac/aetools.py | 12 |
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()""" |