diff options
author | Walter Bender <walter.bender@gmail.com> | 2011-04-26 12:57:24 (GMT) |
---|---|---|
committer | Walter Bender <walter.bender@gmail.com> | 2011-04-26 12:57:24 (GMT) |
commit | 73f43b527bdb0650ed7c82b36e367616cffaac36 (patch) | |
tree | 97aec449023f776e11697d800a8b5ebb47f138ff /TurtleArt/talogo.py | |
parent | cf8d97feb6fb51e423b563a1d64b84ab6d5aad5f (diff) |
naive first try... seems to run each thread sequentially or not at all
Diffstat (limited to 'TurtleArt/talogo.py')
-rw-r--r-- | TurtleArt/talogo.py | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/TurtleArt/talogo.py b/TurtleArt/talogo.py index 944b9bf..3d5d290 100644 --- a/TurtleArt/talogo.py +++ b/TurtleArt/talogo.py @@ -22,6 +22,7 @@ #THE SOFTWARE. import gtk +import gobject from time import time from operator import isNumberType @@ -425,16 +426,20 @@ class LogoCode: def doevalstep(self): """ evaluate one step """ + self.tw.event.wait() starttime = _millisecond() try: while (_millisecond() - starttime) < 120: try: if self.step is not None: + self.tw.lock.acquire() self.step.next() + self.tw.lock.release() else: return False except StopIteration: # self.tw.turtles.show_all() + self.tw.lock.release() # Just in case. if self.hidden_turtle is not None: self.hidden_turtle.show() self.hidden_turtle = None |