OSDN Git Service

bug fix: timeline ids mutex lock
authorHirotaka Kawata <hktechno@hotmail.com>
Fri, 5 Mar 2010 20:09:17 +0000 (05:09 +0900)
committerHirotaka Kawata <hktechno@hotmail.com>
Fri, 5 Mar 2010 20:09:17 +0000 (05:09 +0900)
main.py
twitterapi.py

diff --git a/main.py b/main.py
index 26bd951..6bf470a 100644 (file)
--- a/main.py
+++ b/main.py
@@ -153,12 +153,9 @@ class Main:
     def on_status_added(self, i):
         status = self.twitter.statuses[i]
         myname = self.twitter.users[self.twitter.myid]
-        if (status.in_reply_to_user_id == self.twitter.myid or \
-                status.text.find("@%s" % myname) >= 0) and \
-                i not in self.timelines[1].timeline.timeline:
-            self.timelines[1].add_status(i)
-            self.timelines[1].color_status()
-            self.timelines[1].timeline.timeline.add(status.id)
+        if status.in_reply_to_user_id == self.twitter.myid or \
+                status.text.find("@%s" % myname) >= 0:
+            self.timelines[1].timeline.add(set((status.id,)))
     
     def on_timeline_refresh(self):
         self.label_apilimit.set_text("%d/%d %d/%d" % (
index 0a2ee7e..c7e141d 100644 (file)
@@ -120,9 +120,10 @@ class timeline_thread(threading.Thread):
     def add_mutex(self, ids):
         # defference update = delete already exists status
         ids.difference_update(self.timeline)
-        # exec EventHander (TreeView Refresh)
-        self.reloadEventHandler(ids)
-        # add new statuse ids
-        self.timeline.update(ids)
-
+        if ids:
+            # exec EventHander (TreeView Refresh)
+            self.reloadEventHandler(ids)
+            # add new statuse ids
+            self.timeline.update(ids)
+        
         self.addlock.unlock()