Jacek Caban : jscript: Added FIXME about IClassFactoryEx.

Alexandre Julliard julliard at winehq.org
Fri Oct 2 11:02:24 CDT 2009


Module: wine
Branch: master
Commit: 960d7f9fdb0b57a5e6a74a05039f1d1b93576263
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=960d7f9fdb0b57a5e6a74a05039f1d1b93576263

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Fri Oct  2 13:54:51 2009 +0200

jscript: Added FIXME about IClassFactoryEx.

---

 dlls/jscript/activex.c      |   15 +++++++++++++--
 dlls/jscript/jscript_main.c |    1 +
 2 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/dlls/jscript/activex.c b/dlls/jscript/activex.c
index 2029edf..e37abd2 100644
--- a/dlls/jscript/activex.c
+++ b/dlls/jscript/activex.c
@@ -21,6 +21,7 @@
 
 #include "jscript.h"
 #include "objsafe.h"
+#include "mshtmhst.h"
 
 #include "wine/debug.h"
 
@@ -59,6 +60,8 @@ static IUnknown *create_activex_object(script_ctx_t *ctx, const WCHAR *progid)
 {
     IInternetHostSecurityManager *secmgr;
     struct CONFIRMSAFETY cs;
+    IClassFactoryEx *cfex;
+    IClassFactory *cf;
     DWORD policy_size;
     BYTE *bpolicy;
     IUnknown *obj;
@@ -82,9 +85,17 @@ static IUnknown *create_activex_object(script_ctx_t *ctx, const WCHAR *progid)
     if(FAILED(hres) || policy != URLPOLICY_ALLOW)
         return NULL;
 
-    /* FIXME: Use IClassFactoryEx */
+    hres = CoGetClassObject(&guid, CLSCTX_INPROC_SERVER|CLSCTX_INPROC_HANDLER, NULL, &IID_IClassFactory, (void**)&cf);
+    if(FAILED(hres))
+        return NULL;
+
+    hres = IClassFactory_QueryInterface(cf, &IID_IClassFactoryEx, (void**)&cfex);
+    if(SUCCEEDED(hres)) {
+        FIXME("Use IClassFactoryEx\n");
+        IClassFactoryEx_Release(cfex);
+    }
 
-    hres = CoCreateInstance(&guid, NULL, CLSCTX_INPROC_SERVER|CLSCTX_INPROC_HANDLER, &IID_IUnknown, (void**)&obj);
+    hres = IClassFactory_CreateInstance(cf, NULL, &IID_IUnknown, (void**)&obj);
     if(FAILED(hres))
         return NULL;
 
diff --git a/dlls/jscript/jscript_main.c b/dlls/jscript/jscript_main.c
index 4f59ecb..78f8f00 100644
--- a/dlls/jscript/jscript_main.c
+++ b/dlls/jscript/jscript_main.c
@@ -24,6 +24,7 @@
 #include "advpub.h"
 #include "activaut.h"
 #include "objsafe.h"
+#include "mshtmhst.h"
 
 #include "wine/debug.h"
 




More information about the wine-cvs mailing list