diff options
-rw-r--r-- | Mac/Tools/IDE/Wapplication.py | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/Mac/Tools/IDE/Wapplication.py b/Mac/Tools/IDE/Wapplication.py index a63be2a..553391e 100644 --- a/Mac/Tools/IDE/Wapplication.py +++ b/Mac/Tools/IDE/Wapplication.py @@ -275,17 +275,21 @@ class Application(FrameWork.Application): self.makeusermenus() def scriptswalk(self, top, menu, done=None): + if menu.id > 200: + import W + W.Message("Scripts folder not completely traversed: running out of menus") + return False if done is None: done = {} if done.has_key(top): - return + return True done[top] = 1 import os, string try: names = os.listdir(top) except os.error: FrameWork.MenuItem(menu, '(Scripts Folder not found)', None, None) - return + return True savedir = os.getcwd() os.chdir(top) for name in names: @@ -306,7 +310,8 @@ class Application(FrameWork.Application): menu.addseparator() elif isdir: submenu = FrameWork.SubMenu(menu, name) - self.scriptswalk(path, submenu, done) + if not self.scriptswalk(path, submenu, done): + return False else: creator, type = MacOS.GetCreatorAndType(path) if type == 'TEXT': @@ -316,6 +321,7 @@ class Application(FrameWork.Application): self._scripts[(menu.id, item.item)] = path done[path] = 1 os.chdir(savedir) + return True def domenu_script(self, id, item, window, event): (what, message, when, where, modifiers) = event |