From a0e075f1b0663e5b412fb87271ff5e63d0622227 Mon Sep 17 00:00:00 2001 From: Pootle daemon Date: Sat, 02 Jun 2012 04:32:30 +0000 Subject: Merge branch 'master' of git.sugarlabs.org:turtleart/mainline --- diff --git a/NEWS b/NEWS index c19d19a..df704f5 100644 --- a/NEWS +++ b/NEWS @@ -1,9 +1,17 @@ +141 + +BUG FIXES: +* get_lower() and get_upper() are only available in PyGTK 2.14 and above +* Movies playback works properly (#3166, #3369) +* Don't drag canvas while program is running (interferes with mouse + sensor blocks) + 140 ENHANCEMENTS: * New translations -BUG FIX: +BUG FIXES: * Blank out coordinate display when data are invalid (#3599) * Import CalledProcessError in audiograb.py diff --git a/TurtleArt/tagplay.py b/TurtleArt/tagplay.py index 47c5cf3..a90104b 100644 --- a/TurtleArt/tagplay.py +++ b/TurtleArt/tagplay.py @@ -30,7 +30,7 @@ import pygtk pygtk.require('2.0') import gobject -# gobject.threads_init() +gobject.threads_init() import pygst import gst @@ -112,6 +112,8 @@ class Gplay(): def _player_eos_cb(self, widget): logging.debug('end of stream') + # Make sure player is stopped after EOS + self.player.stop() def _player_error_cb(self, widget, message, detail): self.player.stop() diff --git a/TurtleArt/talogo.py b/TurtleArt/talogo.py index 4aae737..db44a8e 100644 --- a/TurtleArt/talogo.py +++ b/TurtleArt/talogo.py @@ -156,6 +156,7 @@ class LogoCode: from tagplay import stop_media stop_media(self) self.tw.active_turtle.show() + self.tw.running_blocks = False def def_prim(self, name, args, fcn, rprim=False): """ Define the primitives associated with the blocks """ @@ -215,6 +216,7 @@ class LogoCode: except IndexError: self.tw.showlabel('#nostack') self.tw.showblocks() + self.tw.running_blocks = False return None if type(convert(x, float, False)) == float: if int(float(x)) == x: @@ -498,6 +500,7 @@ class LogoCode: except ValueError: debug_output('generator already executing', self.tw.running_sugar) + self.tw.running_blocks = False return False else: return False @@ -508,12 +511,14 @@ class LogoCode: self.hidden_turtle = None else: self.tw.active_turtle.show() + self.tw.running_blocks = False return False except logoerror, e: self.tw.showblocks() self.tw.display_coordinates() self.tw.showlabel('syntaxerror', str(e)) self.tw.turtles.show_all() + self.tw.running_blocks = False return False return True diff --git a/TurtleArt/tawindow.py b/TurtleArt/tawindow.py index 2d4c38e..c2ae04b 100644 --- a/TurtleArt/tawindow.py +++ b/TurtleArt/tawindow.py @@ -135,6 +135,7 @@ class TurtleArtWindow(): self.mouse_flag = 0 self.mouse_x = 0 self.mouse_y = 0 + self.running_blocks = False try: locale.setlocale(locale.LC_NUMERIC, '') @@ -1198,7 +1199,8 @@ class TurtleArtWindow(): self.dragging_canvas[1] = x self.dragging_canvas[2] = y if spr is None: - self.dragging_canvas[0] = True + if not self.running_blocks: + self.dragging_canvas[0] = True return True self.dragging_canvas[0] = False self.selected_spr = spr @@ -2242,6 +2244,7 @@ class TurtleArtWindow(): if len(self.block_list.get_similar_blocks('block', 'savesvg')) > 0: if self.canvas.cr_svg is None: self.canvas.setup_svg_surface() + self.running_blocks = True self._start_plugins() # Let the plugins know we are running. top = find_top_block(blk) self.lc.run_blocks(top, self.just_blocks(), True) diff --git a/activity/activity.info b/activity/activity.info index 9b5d94f..c7ba3d4 100644 --- a/activity/activity.info +++ b/activity/activity.info @@ -1,6 +1,6 @@ [Activity] name = Turtle Art -activity_version = 140 +activity_version = 141 license = MIT bundle_id = org.laptop.TurtleArtActivity exec = sugar-activity TurtleArtActivity.TurtleArtActivity -- cgit v0.9.1