conduit r1364 - in trunk: . conduit/gtkui



Author: thomasvm
Date: Mon Mar 10 19:03:32 2008
New Revision: 1364
URL: http://svn.gnome.org/viewvc/conduit?rev=1364&view=rev

Log:
2008-03-10  Thomas Van Machelen <thomas vanmachelen gmail com>:
	* conduit/gtkui/UI.py: Set flag that we should check if the
	SyncManager is busy in the next animation cycle instead of trying to
	stop the animation directly when the sync completes.  Sometimes the
	SyncManager reports to be still busy even though the sync has
	completed.  Fixes #521349


Modified:
   trunk/ChangeLog
   trunk/conduit/gtkui/UI.py

Modified: trunk/conduit/gtkui/UI.py
==============================================================================
--- trunk/conduit/gtkui/UI.py	(original)
+++ trunk/conduit/gtkui/UI.py	Mon Mar 10 19:03:32 2008
@@ -590,6 +590,7 @@
         self.connect('activate', self.on_click)
 
         self.animating = False
+        self.check_animate = False
         self.conflict = False
         self.animated_idx = 0
         self.animated_icons = range(1,8)
@@ -608,7 +609,12 @@
             else:
                 self.animated_idx += 1
                 self.set_from_icon_name("conduit-progress-%d" % self.animated_idx)
+            # re-check animation?                
+            if self.check_animate:
+                self.animating =  conduit.GLOBALS.syncManager.is_busy()
+                self.check_animate = False
             return True
+
         else: 
             if self.conflict:
                 self.set_from_icon_name("dialog-error")
@@ -636,7 +642,8 @@
             gobject.timeout_add(100, self._animate_icon_timeout)
 
     def _on_sync_completed(self, cond, aborted, error, conflict):
-        self.animating = conduit.GLOBALS.syncManager.is_busy()
+        # check need for animation on next iteration
+        self.check_animate = True
 
     def _on_sync_conflict(self, cond, conflict):
         self.conflict = True



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]