--- gnome-desktop-2.23.2.old/gnome-about/gnome-about.in 2008-05-29 13:05:06.482750000 +0100
+++ gnome-desktop-2.23.2/gnome-about/gnome-about.in 2008-05-29 13:04:34.907819000 +0100
@@ -339,6 +339,7 @@
rewind_text = ""
last_label_height = 0
+ label_height = 0
def rewind_animate (self):
'''Animation function for the rewind step'''
@@ -346,8 +347,8 @@
if self.state == -2:
- label_height = self.label.size_request ()[1]
- total_height = self.height + label_height
+ self.label_height = self.label.size_request ()[1]
+ total_height = self.height + self.label_height
self.pos = float (self.last_label_height) / total_height
self.current.set (0.5, self.pos, 0, 0)
self.state = 0
@@ -367,6 +368,9 @@
def animate (self):
'''The actual animation function'''
self.source = None
+ self.height = self.size_request ()[1]
+ if self.label:
+ self.label_height = self.label.size_request ()[1]
if self.state == -2:
elif self.state == -1:
@@ -377,9 +381,8 @@
if self.pos:
'''Move towards the top position'''
- label_height = self.label.size_request ()[1]
- total_height = self.height + label_height
- real_pos = float (self.pos * self.height + label_height) \
+ total_height = self.height + self.label_height
/ total_height
self.current.set (0.5, real_pos, 0, 0)
@@ -394,20 +397,25 @@
self.state = 2
elif self.state == 2:
- if not self.next:
- self.state = -2
- self.reset_animation ()
- elif self.pos:
+ if self.pos:
'''Move out of the visible region of the Layout'''
- label_height = self.label.size_request ()[1]
- total_height = self.height + label_height
- real_pos = float (self.pos * label_height) \
+ if self.height < self.label_height:
+ else:
+ total_height = self.height + self.label_height
+ real_pos = float (self.pos * self.label_height) \
/ total_height
self.current.set (0.5, real_pos, 0, 0)
+ if self.height < self.label_height:
+ else:
+ elif not self.next:
+ self.state = -2
+ self.reset_animation ()
else:
'''Label has disappeared, bye bye'''
@@ -420,11 +428,11 @@
return
self.current = gtk.Alignment (0.0, 1.0)
- label_height = self.label.size_request ()[1]
- height = self.size_request ()[1]
- self.current.set_size_request (-1, 2 * label_height + height)
+ self.label_height = self.label.size_request ()[1]
+ self.height = self.size_request ()[1]
- self.put (self.current, 0, - label_height)
self.pos = 1.0