This commit is contained in:
jst@mozilla.org 2008-02-08 15:15:00 -08:00
Родитель 24fbbf7804
Коммит c48b72a37f
1 изменённых файлов: 5 добавлений и 2 удалений

Просмотреть файл

@ -41,6 +41,9 @@
/* Class used to manage the wrapped native objects within a JS scope. */
#include "xpcprivate.h"
#ifdef DEBUG
#include "XPCNativeWrapper.h"
#endif
/***************************************************************************/
@ -235,7 +238,6 @@ XPCWrappedNativeScope::SetGlobal(XPCCallContext& ccx, JSObject* aGlobal)
mScriptObjectPrincipal = nsnull;
// Now init our script object principal, if the new global has one
JSContext* cx = ccx.GetJSContext();
const JSClass* jsClass = STOBJ_GET_CLASS(aGlobal);
if(!(~jsClass->flags & (JSCLASS_HAS_PRIVATE |
JSCLASS_PRIVATE_IS_NSISUPPORTS)))
@ -712,7 +714,8 @@ GetScopeOfObject(JSObject* obj)
{
if(!(~clazz->flags & (JSCLASS_HAS_PRIVATE |
JSCLASS_PRIVATE_IS_NSISUPPORTS)) &&
(supports = (nsISupports*) xpc_GetJSPrivate(obj)))
(supports = (nsISupports*) xpc_GetJSPrivate(obj)) &&
!XPCNativeWrapper::IsNativeWrapperClass(clazz))
{
nsCOMPtr<nsIXPConnectWrappedNative> iface =
do_QueryInterface(supports);