Prechádzať zdrojové kódy

bpdb - handle exception caused when placing bp in a __init__ function

Ken Patel 15 rokov pred
rodič
commit
64083938fa
1 zmenil súbory, kde vykonal 8 pridanie a 4 odobranie
  1. 8 4
      direct/src/showbase/PythonUtil.py

+ 8 - 4
direct/src/showbase/PythonUtil.py

@@ -4409,7 +4409,7 @@ class BpDb:
         return decorator
         return decorator
         
         
     @staticmethod
     @staticmethod
-    def bpGroup(*args, **kArgs):
+    def bpGroup(*args, **kArgs):  #rename bpGroup -> bpPreset
         def functor(*cArgs, **ckArgs):
         def functor(*cArgs, **ckArgs):
             return
             return
 
 
@@ -4485,9 +4485,13 @@ class bp:
             #look for self
             #look for self
             if grp is None:
             if grp is None:
                 slf = inspect.stack()[frameCount][0].f_locals.get('self')
                 slf = inspect.stack()[frameCount][0].f_locals.get('self')
-                if slf:
-                    className = slf.__class__.__name__
-                    grp = className
+                try:
+                    if slf:
+                        className = slf.__class__.__name__
+                        grp = className
+                except:
+                    #in __init__ 'self' exists but 'if slf' will crash
+                    pass
             #default to module
             #default to module
             if grp is None:
             if grp is None:
                 grp = moduleName                
                 grp = moduleName