Hi All,
This is make time-slider-version work when a11y is enabled.
Thanks,
Erwann
diff -r d02b6fca2b79 ChangeLog
--- a/ChangeLog Thu Apr 09 21:49:11 2009 +0200
+++ b/ChangeLog Fri Apr 10 19:28:45 2009 +0200
@@ -1,3 +1,9 @@
+2009-04-10 Erwann Chenede - <erwann.chenede at sun.com>
+
+ * /usr/share/time-slider/lib/time_slider/fileversion.py:
+ used gobject.idle_add instead of gtk.gdk.threads_* fixes
+ 7319
+
2009-04-09 Erwann Chenede - <erwann.chenede at sun.com>
* /usr/share/time-slider/lib/time_slider/fileversion.py:
diff -r d02b6fca2b79 VERSION
--- a/VERSION Thu Apr 09 21:49:11 2009 +0200
+++ b/VERSION Fri Apr 10 19:28:45 2009 +0200
@@ -1,1 +1,1 @@
-VERSION = 0.2.7
+VERSION = 0.2.8
diff -r d02b6fca2b79 usr/share/time-slider/lib/time_slider/fileversion.py
--- a/usr/share/time-slider/lib/time_slider/fileversion.py Thu Apr 09
21:49:11 2009 +0200
+++ b/usr/share/time-slider/lib/time_slider/fileversion.py Fri Apr 10
19:28:45 2009 +0200
@@ -271,11 +271,8 @@
num_dirs = len(dirs)
current_dir = 1
- if not self.critical_section_enter():
- return None
- self.w.progress.set_pulse_step (1.0 / num_dirs)
- self.w.progress.set_text ("Scanning for older versions (%d/%d)"
% (current_dir, num_dirs))
- self.critical_section_leave ()
+ gobject.idle_add (self.w.progress.set_pulse_step, (1.0 /
num_dirs))
+ gobject.idle_add (self.w.progress.set_text, ("Scanning for
older versions (%d/%d)" % (current_dir, num_dirs)))
versions = [File (self.w.filename)]
@@ -284,49 +281,25 @@
file = File ("%s%s/%s" % (snap_path, dir, path_after_snap))
if file.exist :
if file.add_if_unique(versions):
- if not self.critical_section_enter():
- return None
- self.w.add_file (file)
- self.critical_section_leave ()
- if not self.critical_section_enter():
- return None
+ gobject.idle_add (self.w.add_file, file)
fraction = self.w.progress.get_fraction ()
fraction += self.w.progress.get_pulse_step ()
if fraction > 1:
fraction = 1
- self.w.progress.set_fraction (fraction)
+
+ gobject.idle_add (self.w.progress.set_fraction, fraction)
current_dir += 1
- self.w.progress.set_text ("Scanning for older versions
(%d/%d)" % (current_dir, num_dirs))
- self.critical_section_leave ()
+ gobject.idle_add (self.w.progress.set_text, "Scanning
for older versions (%d/%d)" % (current_dir, num_dirs))
else:
return None
- if not self.critical_section_enter():
- return None
- self.w.progress.hide ()
- self.w.older_versions_label.set_markup ("<b>Older Versions</b>
(%d) " % (len(versions) - 1))
+ gobject.idle_add(self.w.progress.hide)
+ gobject.idle_add(self.w.older_versions_label.set_markup ,
"<b>Older Versions</b> (%d) " % (len(versions) - 1))
# sort by date
- self.w.date_column.emit ("clicked")
- self.w.date_column.emit ("clicked")
- self.critical_section_leave ()
-
- def critical_section_enter (self):
-# print "in critical_section enter"
-# print traceback.print_stack ()
- if not self._stopevent.isSet ():
- gtk.gdk.threads_enter()
- return True
- return False
-
- def critical_section_leave (self):
-# print "in critical_section leave"
- if not self._stopevent.isSet ():
- gtk.gdk.threads_leave()
- return True
- return False
-
+ gobject.idle_add(self.w.date_column.emit, "clicked")
+ gobject.idle_add(self.w.date_column.emit, "clicked")
+
def join(self, timeout=None):
- self.critical_section_leave ()
self._stopevent.set ()
threading.Thread.join(self, timeout)
--
Erwann Ch?ned?,
Desktop Group, Sun Microsystems, Grenoble
Phone : +33 476 188 358 ext: 38358