diff --git a/mozilla/modules/plugin/base/public/npruntime.h b/mozilla/modules/plugin/base/public/npruntime.h index 14047c41fee..dc53d5fed09 100644 --- a/mozilla/modules/plugin/base/public/npruntime.h +++ b/mozilla/modules/plugin/base/public/npruntime.h @@ -274,7 +274,7 @@ int32_t NPN_IntFromIdentifier(NPIdentifier identifier); The NPVariant *result argument of these functions (where applicable) should be released using NPN_ReleaseVariantValue(). */ -typedef NPObject *(*NPAllocateFunctionPtr)(NPP npp); +typedef NPObject *(*NPAllocateFunctionPtr)(NPP npp, NPClass *aClass); typedef void (*NPDeallocateFunctionPtr)(NPObject *npobj); typedef void (*NPInvalidateFunctionPtr)(NPObject *npobj); typedef bool (*NPHasMethodFunctionPtr)(NPObject *npobj, NPIdentifier name); diff --git a/mozilla/modules/plugin/base/src/ns4xPlugin.cpp b/mozilla/modules/plugin/base/src/ns4xPlugin.cpp index bdd4dabadfb..fe3a11f707c 100644 --- a/mozilla/modules/plugin/base/src/ns4xPlugin.cpp +++ b/mozilla/modules/plugin/base/src/ns4xPlugin.cpp @@ -1466,7 +1466,7 @@ _createobject(NPP npp, NPClass* aClass) NPObject *npobj; if (aClass->allocate) { - npobj = aClass->allocate(npp); + npobj = aClass->allocate(npp, aClass); } else { npobj = (NPObject *)PR_Malloc(sizeof(NPObject)); } diff --git a/mozilla/modules/plugin/base/src/nsJSNPRuntime.cpp b/mozilla/modules/plugin/base/src/nsJSNPRuntime.cpp index e640a8040f1..5af38839a6e 100644 --- a/mozilla/modules/plugin/base/src/nsJSNPRuntime.cpp +++ b/mozilla/modules/plugin/base/src/nsJSNPRuntime.cpp @@ -388,8 +388,11 @@ nsJSObjWrapper::~nsJSObjWrapper() // static NPObject * -nsJSObjWrapper::NP_Allocate(NPP npp) +nsJSObjWrapper::NP_Allocate(NPP npp, NPClass *aClass) { + NS_ASSERTION(aClass == &sJSObjWrapperNPClass, + "Huh, wrong class passed to NP_Allocate()!!!"); + return new nsJSObjWrapper(npp); } diff --git a/mozilla/modules/plugin/base/src/nsJSNPRuntime.h b/mozilla/modules/plugin/base/src/nsJSNPRuntime.h index 86e83209ae6..daa19a77673 100644 --- a/mozilla/modules/plugin/base/src/nsJSNPRuntime.h +++ b/mozilla/modules/plugin/base/src/nsJSNPRuntime.h @@ -73,7 +73,7 @@ protected: nsJSObjWrapper(NPP npp); ~nsJSObjWrapper(); - static NPObject * NP_Allocate(NPP npp); + static NPObject * NP_Allocate(NPP npp, NPClass *aClass); static void NP_Deallocate(NPObject *obj); static void NP_Invalidate(NPObject *obj); static bool NP_HasMethod(NPObject *, NPIdentifier identifier);