Explorar el Código

*** empty log message ***

Mike Goslin hace 25 años
padre
commit
f05f56ebf1
Se han modificado 2 ficheros con 18 adiciones y 15 borrados
  1. 17 14
      direct/src/gui/PickList.py
  2. 1 1
      direct/src/showbase/DirectObject.py

+ 17 - 14
direct/src/gui/PickList.py

@@ -32,25 +32,28 @@ class PickList(PandaObject.PandaObject):
         
         # display the menu
         self.__displayChoices(choiceList)
+	self.isClean = 0
 	return None
 
     def cleanup(self):
 	"""cleanup(self)
 	"""
-        # remove keyboard events
-        self.ignore("up-up")
-        self.ignore("down-up")
-        self.ignore("enter-up")
-
-        # ignore all the buttons
-        for item in self.frame.getItems():
-            self.ignore(item.getGuiItem().getUpEvent())
-            self.ignore(item.getGuiItem().getUpRolloverEvent())
-            self.ignore(item.getGuiItem().getDownRolloverEvent())
-
-        # reset the display
-        self.frame.unmanage()
-	self.frame = None
+	if self.isClean == 0:
+	    self.isClean = 1
+            # remove keyboard events
+            self.ignore("up-up")
+            self.ignore("down-up")
+            self.ignore("enter-up")
+
+            # ignore all the buttons
+            for item in self.frame.getItems():
+            	self.ignore(item.getGuiItem().getUpEvent())
+            	self.ignore(item.getGuiItem().getUpRolloverEvent())
+            	self.ignore(item.getGuiItem().getDownRolloverEvent())
+
+            # reset the display
+            self.frame.unmanage()
+	    self.frame = None
 	return None
         
     # accessing

+ 1 - 1
direct/src/showbase/DirectObject.py

@@ -11,7 +11,7 @@ class DirectObject:
 	"""
 	try: 
 	    self.cleanup()
-	except:
+	except NameError:
 	    print "No cleanup() method defined!"
 
     # Event Handling