diff --git a/mozilla/modules/plugin/base/src/ns4xPlugin.cpp b/mozilla/modules/plugin/base/src/ns4xPlugin.cpp index a4796141d85..631bc2eb122 100644 --- a/mozilla/modules/plugin/base/src/ns4xPlugin.cpp +++ b/mozilla/modules/plugin/base/src/ns4xPlugin.cpp @@ -96,6 +96,7 @@ NS_IMPL_RELEASE(ns4xPlugin); static NS_DEFINE_IID(kILiveConnectPluginIID, NS_ILIVECONNECTPLUGIN_IID); static NS_DEFINE_IID(kIPluginIID, NS_IPLUGIN_IID); +static NS_DEFINE_IID(kIFactoryIID, NS_IFACTORY_IID); static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID); static NS_DEFINE_IID(kIWindowlessPluginInstancePeerIID, NS_IWINDOWLESSPLUGININSTANCEPEER_IID); static NS_DEFINE_IID(kISeekablePluginStreamPeerIID, NS_ISEEKABLEPLUGINSTREAMPEER_IID); @@ -125,6 +126,13 @@ ns4xPlugin::QueryInterface(const nsIID& iid, void** instance) return NS_OK; } + if (iid.Equals(kIFactoryIID)) + { + *instance = (void *)(nsIFactory *)this; + AddRef(); + return NS_OK; + } + if (iid.Equals(kISupportsIID)) { *instance = (void *)(nsISupports *)this; diff --git a/mozilla/modules/plugin/nglsrc/ns4xPlugin.cpp b/mozilla/modules/plugin/nglsrc/ns4xPlugin.cpp index a4796141d85..631bc2eb122 100644 --- a/mozilla/modules/plugin/nglsrc/ns4xPlugin.cpp +++ b/mozilla/modules/plugin/nglsrc/ns4xPlugin.cpp @@ -96,6 +96,7 @@ NS_IMPL_RELEASE(ns4xPlugin); static NS_DEFINE_IID(kILiveConnectPluginIID, NS_ILIVECONNECTPLUGIN_IID); static NS_DEFINE_IID(kIPluginIID, NS_IPLUGIN_IID); +static NS_DEFINE_IID(kIFactoryIID, NS_IFACTORY_IID); static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID); static NS_DEFINE_IID(kIWindowlessPluginInstancePeerIID, NS_IWINDOWLESSPLUGININSTANCEPEER_IID); static NS_DEFINE_IID(kISeekablePluginStreamPeerIID, NS_ISEEKABLEPLUGINSTREAMPEER_IID); @@ -125,6 +126,13 @@ ns4xPlugin::QueryInterface(const nsIID& iid, void** instance) return NS_OK; } + if (iid.Equals(kIFactoryIID)) + { + *instance = (void *)(nsIFactory *)this; + AddRef(); + return NS_OK; + } + if (iid.Equals(kISupportsIID)) { *instance = (void *)(nsISupports *)this;