From 73f43b527bdb0650ed7c82b36e367616cffaac36 Mon Sep 17 00:00:00 2001 From: Walter Bender Date: Tue, 26 Apr 2011 12:57:24 +0000 Subject: naive first try... seems to run each thread sequentially or not at all --- (limited to 'TurtleArt/talogo.py') 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 -- cgit v0.9.1