summaryrefslogtreecommitdiffstats
path: root/generic/tclNamesp.c
diff options
context:
space:
mode:
Diffstat (limited to 'generic/tclNamesp.c')
-rw-r--r--generic/tclNamesp.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/generic/tclNamesp.c b/generic/tclNamesp.c
index df1f818..e717977 100644
--- a/generic/tclNamesp.c
+++ b/generic/tclNamesp.c
@@ -22,7 +22,7 @@
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclNamesp.c,v 1.136 2007/06/10 20:25:56 msofer Exp $
+ * RCS: @(#) $Id: tclNamesp.c,v 1.137 2007/06/11 21:32:19 msofer Exp $
*/
#include "tclInt.h"
@@ -2839,9 +2839,7 @@ TclGetNamespaceFromObj(
name = TclGetString(objPtr);
isFQ = ((*name == ':') && (*(name+1) == ':'));
- refNsPtr = (Namespace *) (isFQ
- ? TclGetGlobalNamespace(interp)
- : TclGetCurrentNamespace(interp));
+ refNsPtr = (Namespace *) (isFQ? NULL :TclGetCurrentNamespace(interp));
/*
* Get the internal representation, converting to a namespace type if
@@ -2860,7 +2858,7 @@ TclGetNamespaceFromObj(
resPtr = (ResolvedNsName *) objPtr->internalRep.otherValuePtr;
if ((objPtr->typePtr != &tclNsNameType)
|| (resPtr == NULL)
- || (resPtr->refNsPtr != refNsPtr)
+ || (!isFQ && (resPtr->refNsPtr != refNsPtr))
|| (nsPtr = resPtr->nsPtr, nsPtr->flags & NS_DEAD)
|| (resPtr->nsId != nsPtr->nsId)) {