atl: catch null procedures

Aric Stewart aric at codeweavers.com
Thu Aug 18 08:58:13 CDT 2005


in AtlModuleInit do not call initialization procedures that are NULL.

-------------- next part --------------
Index: dlls/atl/atl_main.c
===================================================================
RCS file: /home/wine/wine/dlls/atl/atl_main.c,v
retrieving revision 1.11
diff -u -r1.11 atl_main.c
--- dlls/atl/atl_main.c	8 Aug 2005 11:06:42 -0000	1.11
+++ dlls/atl/atl_main.c	18 Aug 2005 13:57:27 -0000
@@ -65,11 +65,15 @@
 
     /* call mains */
     i = 0;
-    while (pM->m_pObjMap[i].pclsid != NULL)
+    if (pM->m_pObjMap != NULL)
     {
-        TRACE("Initializing object %i\n",i);
-        p[i].pfnObjectMain(TRUE);
-        i++;
+        while (pM->m_pObjMap[i].pclsid != NULL)
+        {
+            TRACE("Initializing object %i %p\n",i,p[i].pfnObjectMain);
+            if (p[i].pfnObjectMain)
+                p[i].pfnObjectMain(TRUE);
+            i++;
+        }
     }
 
     return S_OK;


More information about the wine-patches mailing list