]> git.cworth.org Git - sup/commitdiff
dont using SavingHash#[] for membership test
authorRich Lane <rlane@club.cc.cmu.edu>
Sat, 20 Jun 2009 20:50:17 +0000 (13:50 -0700)
committerWilliam Morgan <wmorgan-sup@masanjin.net>
Wed, 24 Jun 2009 13:44:49 +0000 (09:44 -0400)
lib/sup/thread.rb

index 99f21dc31a07bfcb3424a1fc206e20133e2ec8ab..d395c3588f7274448dc86d2d784ee9021b29c3b0 100644 (file)
@@ -310,13 +310,15 @@ class ThreadSet
   private :prune_thread_of
 
   def remove_id mid
-    return unless(c = @messages[mid])
+    return unless @messages.member?(mid)
+    c = @messages[mid]
     remove_container c
     prune_thread_of c
   end
 
   def remove_thread_containing_id mid
-    c = @messages[mid] or return
+    return unless @messages.member?(mid)
+    c = @messages[mid]
     t = c.root.thread
     @threads.delete_if { |key, thread| t == thread }
   end
@@ -355,7 +357,7 @@ class ThreadSet
     return if threads.size < 2
 
     containers = threads.map do |t|
-      c = @messages[t.first.id]
+      c = @messages.member?(c) ? @messages[t.first.id] : nil
       raise "not in threadset: #{t.first.id}" unless c && c.message
       c
     end