mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-01 17:35:34 -04:00
bpdb - fix bpgroup static=1 behavior for when bpdb is disabled
This commit is contained in:
parent
c489fbeefc
commit
ff599cf9ab
@ -4370,15 +4370,15 @@ class BpDb:
|
||||
return bpdb.enabled
|
||||
|
||||
@staticmethod
|
||||
def bp(id=None, grp=None, cfg=None, iff=True, frameCount=1):
|
||||
def bp(id=None, grp=None, cfg=None, iff=True, test=None, frameCount=1):
|
||||
if not bpdb.enabled or not bpdb.verifyEnabled():
|
||||
return
|
||||
|
||||
bpi = bp(id=id, grp=grp, cfg=cfg, iff=iff,frameCount=frameCount+1)
|
||||
bpi.maybeBreak(frameCount=frameCount+1)
|
||||
bpi = bp(id=id, grp=grp, cfg=cfg, iff=iff, frameCount=frameCount+1)
|
||||
bpi.maybeBreak(test=test, frameCount=frameCount+1)
|
||||
|
||||
@staticmethod
|
||||
def bpCall(id=None,grp=None,cfg=None,iff=True,frameCount=1,onEnter=1,onExit=0):
|
||||
def bpCall(id=None,grp=None,cfg=None,iff=True,test=None,frameCount=1,onEnter=1,onExit=0):
|
||||
def decorator(f):
|
||||
return f
|
||||
|
||||
@ -4394,10 +4394,10 @@ class BpDb:
|
||||
#create our bp object
|
||||
dbp = bp(id=id or f.__name__, grp=bpi.grp, cfg=bpi.cfg, iff=iff, frameCount=frameCount+1)
|
||||
if onEnter:
|
||||
dbp.maybeBreak(iff=iff,frameCount=frameCount+1,displayPrefix='Calling ')
|
||||
dbp.maybeBreak(iff=iff,test=test,frameCount=frameCount+1,displayPrefix='Calling ')
|
||||
f_result = f(*args, **kwds)
|
||||
if onExit:
|
||||
dbp.maybeBreak(iff=iff,frameCount=frameCount+1,displayPrefix='Exited ')
|
||||
dbp.maybeBreak(iff=iff,test=test,frameCount=frameCount+1,displayPrefix='Exited ')
|
||||
return f_result
|
||||
|
||||
wrap.func_name = f.func_name
|
||||
@ -4410,18 +4410,17 @@ class BpDb:
|
||||
|
||||
@staticmethod
|
||||
def bpGroup(*args, **kArgs):
|
||||
if not bpdb.enabled or not bpdb.verifyEnabled():
|
||||
def functor(*cArgs, **ckArgs):
|
||||
return
|
||||
return functor
|
||||
|
||||
argsCopy = args[:]
|
||||
def functor(*cArgs, **ckArgs):
|
||||
kwArgs = kArgs
|
||||
kwArgs.update(ckArgs)
|
||||
kwArgs.pop('static', None)
|
||||
kwArgs['frameCount'] = ckArgs.get('frameCount',1)+1
|
||||
return bpdb.bp(*(cArgs), **kwArgs)
|
||||
return
|
||||
|
||||
if bpdb.enabled and bpdb.verifyEnabled():
|
||||
argsCopy = args[:]
|
||||
def functor(*cArgs, **ckArgs):
|
||||
kwArgs = kArgs
|
||||
kwArgs.update(ckArgs)
|
||||
kwArgs.pop('static', None)
|
||||
kwArgs['frameCount'] = ckArgs.get('frameCount',1)+1
|
||||
return bpdb.bp(*(cArgs), **kwArgs)
|
||||
|
||||
if kArgs.get('static'):
|
||||
return staticmethod(functor)
|
||||
@ -4614,16 +4613,22 @@ class bp:
|
||||
bpdb.grpInfos[grp][id] = {}
|
||||
print '%s has been reset.'%(self.prettyName(id,grp,q=1),)
|
||||
|
||||
def maybeBreak(self, iff=True, frameCount=1,displayPrefix=''):
|
||||
if self.shouldBreak(iff):
|
||||
def maybeBreak(self, iff=True, test=None, frameCount=1, displayPrefix=''):
|
||||
if self.shouldBreak(iff=iff, test=test):
|
||||
self.doBreak(frameCount=frameCount+1,displayPrefix=displayPrefix)
|
||||
|
||||
def shouldBreak(self,iff=True):
|
||||
def shouldBreak(self,iff=True, test=None):
|
||||
#check easy early out
|
||||
if self.disabled:
|
||||
return False
|
||||
if not self.iff or not iff:
|
||||
return False
|
||||
if test:
|
||||
if not isinstance(test, (list, tuple)):
|
||||
test = (test,)
|
||||
for atest in test:
|
||||
if not atest():
|
||||
return False
|
||||
|
||||
#make sure we exist
|
||||
self.makeIdGrp(self.id,self.grp)
|
||||
|
Loading…
x
Reference in New Issue
Block a user