diff --git a/mozilla/modules/plugin/base/src/ns4xPlugin.cpp b/mozilla/modules/plugin/base/src/ns4xPlugin.cpp index 631bc2eb122..cdec5d12301 100644 --- a/mozilla/modules/plugin/base/src/ns4xPlugin.cpp +++ b/mozilla/modules/plugin/base/src/ns4xPlugin.cpp @@ -74,12 +74,13 @@ ns4xPlugin::CheckClassInitialized(void) //////////////////////////////////////////////////////////////////////// -ns4xPlugin::ns4xPlugin(NPPluginFuncs* callbacks, NP_PLUGINSHUTDOWN aShutdown) +ns4xPlugin::ns4xPlugin(NPPluginFuncs* callbacks, NP_PLUGINSHUTDOWN aShutdown, NP_PLUGININIT aInit) { NS_INIT_REFCNT(); memcpy((void*) &fCallbacks, (void*) callbacks, sizeof(fCallbacks)); fShutdownEntry = aShutdown; + fInitialize = aInit; } @@ -192,10 +193,7 @@ ns4xPlugin::CreatePlugin(PRLibrary *library, if (pfnInitialize == NULL) return NS_ERROR_UNEXPECTED; // XXX Right error? - if (pfnInitialize(&ns4xPlugin::CALLBACKS) != NS_OK) - return NS_ERROR_UNEXPECTED; // XXX shoudl convert the 4.x error... - - *result = new ns4xPlugin(&callbacks, pfnShutdown); + *result = new ns4xPlugin(&callbacks, pfnShutdown, pfnInitialize); NS_ADDREF(*result); @@ -254,6 +252,9 @@ ns4xPlugin::Initialize(nsISupports* browserInterfaces) if (nsnull == mMalloc) rv = browserInterfaces->QueryInterface(kIMallocIID, (void **)&mMalloc); + if (fInitialize(&ns4xPlugin::CALLBACKS) != NS_OK) + rv = NS_ERROR_UNEXPECTED; // XXX shoudl convert the 4.x error... + return rv; } diff --git a/mozilla/modules/plugin/base/src/ns4xPlugin.h b/mozilla/modules/plugin/base/src/ns4xPlugin.h index e662bba504e..cce633051d2 100644 --- a/mozilla/modules/plugin/base/src/ns4xPlugin.h +++ b/mozilla/modules/plugin/base/src/ns4xPlugin.h @@ -64,7 +64,7 @@ typedef NPError (PLUGIN_ENTRYPOINT_CALL_TYPE *NP_PLUGINSHUTDOWN)(); class ns4xPlugin : public nsILiveConnectPlugin { public: - ns4xPlugin(NPPluginFuncs* callbacks, NP_PLUGINSHUTDOWN aShutdown); + ns4xPlugin(NPPluginFuncs* callbacks, NP_PLUGINSHUTDOWN aShutdown, NP_PLUGININIT aInit); ~ns4xPlugin(void); NS_DECL_ISUPPORTS @@ -219,6 +219,7 @@ protected: */ NPPluginFuncs fCallbacks; + NP_PLUGININIT fInitialize; NP_PLUGINSHUTDOWN fShutdownEntry; /** diff --git a/mozilla/modules/plugin/nglsrc/ns4xPlugin.cpp b/mozilla/modules/plugin/nglsrc/ns4xPlugin.cpp index 631bc2eb122..cdec5d12301 100644 --- a/mozilla/modules/plugin/nglsrc/ns4xPlugin.cpp +++ b/mozilla/modules/plugin/nglsrc/ns4xPlugin.cpp @@ -74,12 +74,13 @@ ns4xPlugin::CheckClassInitialized(void) //////////////////////////////////////////////////////////////////////// -ns4xPlugin::ns4xPlugin(NPPluginFuncs* callbacks, NP_PLUGINSHUTDOWN aShutdown) +ns4xPlugin::ns4xPlugin(NPPluginFuncs* callbacks, NP_PLUGINSHUTDOWN aShutdown, NP_PLUGININIT aInit) { NS_INIT_REFCNT(); memcpy((void*) &fCallbacks, (void*) callbacks, sizeof(fCallbacks)); fShutdownEntry = aShutdown; + fInitialize = aInit; } @@ -192,10 +193,7 @@ ns4xPlugin::CreatePlugin(PRLibrary *library, if (pfnInitialize == NULL) return NS_ERROR_UNEXPECTED; // XXX Right error? - if (pfnInitialize(&ns4xPlugin::CALLBACKS) != NS_OK) - return NS_ERROR_UNEXPECTED; // XXX shoudl convert the 4.x error... - - *result = new ns4xPlugin(&callbacks, pfnShutdown); + *result = new ns4xPlugin(&callbacks, pfnShutdown, pfnInitialize); NS_ADDREF(*result); @@ -254,6 +252,9 @@ ns4xPlugin::Initialize(nsISupports* browserInterfaces) if (nsnull == mMalloc) rv = browserInterfaces->QueryInterface(kIMallocIID, (void **)&mMalloc); + if (fInitialize(&ns4xPlugin::CALLBACKS) != NS_OK) + rv = NS_ERROR_UNEXPECTED; // XXX shoudl convert the 4.x error... + return rv; } diff --git a/mozilla/modules/plugin/nglsrc/ns4xPlugin.h b/mozilla/modules/plugin/nglsrc/ns4xPlugin.h index e662bba504e..cce633051d2 100644 --- a/mozilla/modules/plugin/nglsrc/ns4xPlugin.h +++ b/mozilla/modules/plugin/nglsrc/ns4xPlugin.h @@ -64,7 +64,7 @@ typedef NPError (PLUGIN_ENTRYPOINT_CALL_TYPE *NP_PLUGINSHUTDOWN)(); class ns4xPlugin : public nsILiveConnectPlugin { public: - ns4xPlugin(NPPluginFuncs* callbacks, NP_PLUGINSHUTDOWN aShutdown); + ns4xPlugin(NPPluginFuncs* callbacks, NP_PLUGINSHUTDOWN aShutdown, NP_PLUGININIT aInit); ~ns4xPlugin(void); NS_DECL_ISUPPORTS @@ -219,6 +219,7 @@ protected: */ NPPluginFuncs fCallbacks; + NP_PLUGININIT fInitialize; NP_PLUGINSHUTDOWN fShutdownEntry; /**