Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/TurtleArt/talogo.py
diff options
context:
space:
mode:
authorWalter 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)
commit73f43b527bdb0650ed7c82b36e367616cffaac36 (patch)
tree97aec449023f776e11697d800a8b5ebb47f138ff /TurtleArt/talogo.py
parentcf8d97feb6fb51e423b563a1d64b84ab6d5aad5f (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.py5
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