Browse Source

attempt to work around showbase startup order issue

David Rose 18 years ago
parent
commit
55a769760d
1 changed files with 5 additions and 7 deletions
  1. 5 7
      direct/src/showbase/PythonUtil.py

+ 5 - 7
direct/src/showbase/PythonUtil.py

@@ -45,6 +45,7 @@ import gc
 import traceback
 import traceback
 
 
 from direct.directutil import Verify
 from direct.directutil import Verify
+from pandac.libpandaexpressModules import ConfigVariableBool
 
 
 ScalarTypes = (types.FloatType, types.IntType, types.LongType)
 ScalarTypes = (types.FloatType, types.IntType, types.LongType)
 
 
@@ -804,14 +805,11 @@ def profiled(category=None, terse=False):
 
 
     def profileDecorator(f):
     def profileDecorator(f):
         def _profiled(*args, **kArgs):
         def _profiled(*args, **kArgs):
-            # must do this in here because we don't have base/simbase
-            # at the time that PythonUtil is loaded
             name = '(%s) %s from %s' % (category, f.func_name, f.__module__)
             name = '(%s) %s from %s' % (category, f.func_name, f.__module__)
-            try:
-                _base = base
-            except:
-                _base = simbase
-            if (category is None) or _base.config.GetBool('want-profile-%s' % category, 0):
+
+            # showbase might not be loaded yet, so don't use
+            # base.config.  Instead, query the ConfigVariableBool.
+            if (category is None) or ConfigVariableBool('want-profile-%s' % category, 0).getValue():
                 return profile(Functor(f, *args, **kArgs), name, terse)
                 return profile(Functor(f, *args, **kArgs), name, terse)
             else:
             else:
                 return f(*args, **kArgs)
                 return f(*args, **kArgs)