diff --git a/dom/plugins/base/nsJSNPRuntime.cpp b/dom/plugins/base/nsJSNPRuntime.cpp index 6ed236c969cb..cea5cbc61931 100644 --- a/dom/plugins/base/nsJSNPRuntime.cpp +++ b/dom/plugins/base/nsJSNPRuntime.cpp @@ -1274,8 +1274,7 @@ NPObjWrapper_DelProperty(JSContext *cx, JS::Handle obj, JS::Handle_class->removeProperty(npobj, identifier)) - *succeeded = false; + *succeeded = npobj->_class->removeProperty(npobj, identifier); return ReportExceptionIfPending(cx); } diff --git a/js/src/vm/NativeObject.cpp b/js/src/vm/NativeObject.cpp index 64ffdd88aa18..b4dd7fefb8e6 100644 --- a/js/src/vm/NativeObject.cpp +++ b/js/src/vm/NativeObject.cpp @@ -2311,7 +2311,7 @@ baseops::DeleteGeneric(JSContext *cx, HandleNativeObject obj, HandleId id, bool if (!CallJSDeletePropertyOp(cx, obj->getClass()->delProperty, obj, id, succeeded)) return false; - if (!succeeded) + if (!*succeeded) return true; NativeObject *nobj = &obj->as(); @@ -2330,7 +2330,7 @@ baseops::DeleteGeneric(JSContext *cx, HandleNativeObject obj, HandleId id, bool RootedId propid(cx, shape->propid()); if (!CallJSDeletePropertyOp(cx, obj->getClass()->delProperty, obj, propid, succeeded)) return false; - if (!succeeded) + if (!*succeeded) return true; return obj->removeProperty(cx, id) && SuppressDeletedProperty(cx, obj, id);