diff --git a/direct/src/showbase/ObjectPool.py b/direct/src/showbase/ObjectPool.py index a9a906fa50..fef6aa9694 100755 --- a/direct/src/showbase/ObjectPool.py +++ b/direct/src/showbase/ObjectPool.py @@ -127,8 +127,10 @@ class ObjectPool: obj = self._type2objs[typ][i] s += '\nOBJ: %s\n' % safeRepr(obj) referrers = gc.get_referrers(obj) + s += '%s REFERRERS:\n' % len(referrers) if len(referrers): - s += getNumberedTypedString(referrers, maxLen=80) + s += getNumberedTypedString(referrers, maxLen=80, + numPrefix='REF') else: s += '' return s diff --git a/direct/src/showbase/PythonUtil.py b/direct/src/showbase/PythonUtil.py index 09ad093c8c..91111a7e17 100644 --- a/direct/src/showbase/PythonUtil.py +++ b/direct/src/showbase/PythonUtil.py @@ -2039,9 +2039,9 @@ def fastRepr(obj, maxLen=200, strFactor=10, _visitedIds=None): elif type(obj) is types.StringType: maxLen *= strFactor if len(obj) > maxLen: - return obj[:maxLen] + return repr(obj[:maxLen]) else: - return obj + return repr(obj) else: return safeRepr(obj) @@ -2194,7 +2194,7 @@ def itype(obj): else: return t -def getNumberedTypedString(items, maxLen=5000): +def getNumberedTypedString(items, maxLen=5000, numPrefix=''): """get a string that has each item of the list on its own line, and each item is numbered on the left from zero""" digits = 0 @@ -2203,7 +2203,7 @@ def getNumberedTypedString(items, maxLen=5000): digits += 1 n /= 10 digits = digits - format = '%0' + '%s' % digits + 'i:%s \t%s' + format = numPrefix + '%0' + '%s' % digits + 'i:%s \t%s' first = True s = '' for i in xrange(len(items)):