Don't drop parent_tag reference on die()
authorJack Miller <jack@codezen.org>
Sun, 12 Jul 2015 03:34:20 +0000 (22:34 -0500)
committerJack Miller <jack@codezen.org>
Tue, 14 Jul 2015 18:26:47 +0000 (13:26 -0500)
canto_curses/story.py
canto_curses/taglist.py

index 0ca1a0f..96d9e20 100644 (file)
@@ -35,6 +35,7 @@ class Story(PluginHandler):
 
         self.parent_tag = tag
         self.is_tag = False
+        self.is_dead = False
         self.id = id
         self.pad = None
 
@@ -79,7 +80,7 @@ class Story(PluginHandler):
         self.update_plugin_lookups()
 
     def die(self):
-        self.parent_tag = None
+        self.is_dead = True
         unhook_all(self)
 
     def __eq__(self, other):
index c4cf051..1c5d37d 100644 (file)
@@ -908,11 +908,11 @@ class TagList(GuiBase):
         sel = self.callbacks["get_var"]("selected")
         tobj = self.callbacks["get_var"]("target_obj")
 
-        if sel and ((sel.is_tag and sel not in self.tags) or (not sel.is_tag and sel.parent_tag == None)):
+        if sel and ((sel.is_tag and sel not in self.tags) or (not sel.is_tag and sel.is_dead)):
             log.debug("Stale selection")
             self.callbacks["set_var"]("selected", None)
 
-        if tobj and ((tobj.is_tag and tobj not in self.tags) or (not tobj.is_tag and tobj.parent_tag == None)):
+        if tobj and ((tobj.is_tag and tobj not in self.tags) or (not tobj.is_tag and tobj.is_dead)):
             log.debug("Stale target obj")
             self.callbacks["set_var"]("target_obj", None)
             self.callbacks["set_var"]("target_offset", 0)