summaryrefslogtreecommitdiffstats
path: root/src/engine
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine')
-rw-r--r--src/engine/SCons/Defaults.py16
1 files changed, 7 insertions, 9 deletions
diff --git a/src/engine/SCons/Defaults.py b/src/engine/SCons/Defaults.py
index c1b9d3f..5c9d5e7 100644
--- a/src/engine/SCons/Defaults.py
+++ b/src/engine/SCons/Defaults.py
@@ -332,17 +332,15 @@ class Variable_Method_Caller:
def __call__(self, *args, **kw):
try: 1/0
except ZeroDivisionError: frame = sys.exc_info()[2].tb_frame
- variable = None
+ variable = self.variable
while frame:
- try:
- variable = frame.f_locals[self.variable]
- except KeyError:
- pass
+ if frame.f_locals.has_key(variable):
+ v = frame.f_locals[variable]
+ if v:
+ method = getattr(v, self.method)
+ return apply(method, args, kw)
frame = frame.f_back
- if variable is None:
- return None
- method = getattr(variable, self.method)
- return apply(method, args, kw)
+ return None
ConstructionEnvironment = {
'BUILDERS' : {},