From 7c4a96ea5983cb7590b8dc98bb6afdd5dfdf30ce Mon Sep 17 00:00:00 2001 From: "mrbkap%gmail.com" Date: Tue, 2 Feb 2010 19:25:50 +0000 Subject: [PATCH] Bug 531364 - Account for differences in the old code. r=jst a=dveditz git-svn-id: svn://10.0.0.236/trunk@259572 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/dom/src/base/nsDOMClassInfo.cpp | 7 +++++++ mozilla/js/src/xpconnect/src/xpccomponents.cpp | 14 +++++++++----- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/mozilla/dom/src/base/nsDOMClassInfo.cpp b/mozilla/dom/src/base/nsDOMClassInfo.cpp index 67eac4bb90d..adaf6a2e8b0 100644 --- a/mozilla/dom/src/base/nsDOMClassInfo.cpp +++ b/mozilla/dom/src/base/nsDOMClassInfo.cpp @@ -6888,6 +6888,13 @@ nsEventReceiverSH::AddEventListenerHelper(JSContext *cx, JSObject *obj, return JS_FALSE; } + rv = sXPConnect->GetWrappedNativeOfJSObject(cx, obj, getter_AddRefs(wrapper)); + if (NS_FAILED(rv)) { + nsDOMClassInfo::ThrowJSException(cx, rv); + + return JS_FALSE; + } + // Check that the caller has permission to call obj's addEventListener. if (NS_FAILED(sSecMan->CheckPropertyAccess(cx, obj, JS_GET_CLASS(cx, obj)->name, diff --git a/mozilla/js/src/xpconnect/src/xpccomponents.cpp b/mozilla/js/src/xpconnect/src/xpccomponents.cpp index 9827a851b64..71e0867199b 100644 --- a/mozilla/js/src/xpconnect/src/xpccomponents.cpp +++ b/mozilla/js/src/xpconnect/src/xpccomponents.cpp @@ -2803,12 +2803,16 @@ nsXPCComponents_Utils::LookupMethod() return NS_ERROR_XPC_BAD_CONVERT_JS; JSObject* obj = JSVAL_TO_OBJECT(argv[0]); - XPCWrappedNative *wn = - XPCWrappedNative::GetWrappedNativeOfJSObject(cx, obj); - if(!wn) - return NS_ERROR_XPC_BAD_CONVERT_JS; - obj = wn->GetFlatJSObject(); + { + XPCWrappedNative *wn = + XPCWrappedNative::GetWrappedNativeOfJSObject(cx, obj); + if(!wn) + return NS_ERROR_XPC_BAD_CONVERT_JS; + + obj = wn->GetFlatJSObject(); + } + OBJ_TO_INNER_OBJECT(cx, obj); if(!obj) return NS_ERROR_XPC_BAD_CONVERT_JS;