COBJMACROS patch 3

Francois Gouget fgouget at free.fr
Thu Sep 30 19:51:52 CDT 2004


COBJMACROS is very C unfriendly as it requires the caller to define it
if it wants to use COM objects. The following check is much better as
it does the right thing automagically:

#if !defined (__cplusplus) || defined(CINTERFACE)

So for internal interface, let's use the C friendly check instead of
COBJMACROS. This way we'll have fewer '#define COBJMACROS' to sprinkle
through the code.


Changelog:

 * dlls/dplayx/dplaysp.h
   dlls/dplayx/lobbysp.h
   include/dsdriver.h
   include/wine/wined3d_interface.h

   Don't use COBJMACROS on internal interfaces.


-- 
Francois Gouget         fgouget at free.fr        http://fgouget.free.fr/
                     Avoid the Gates of Hell - use Linux.
-------------- next part --------------
Index: dlls/dplayx/dplaysp.h
===================================================================
RCS file: /var/cvs/wine/dlls/dplayx/dplaysp.h,v
retrieving revision 1.14
diff -u -r1.14 dplaysp.h
--- dlls/dplayx/dplaysp.h	12 Aug 2004 03:33:30 -0000	1.14
+++ dlls/dplayx/dplaysp.h	30 Sep 2004 18:26:05 -0000
@@ -78,7 +78,7 @@
 /* NOTE: The microsoft provided header file doesn't have these access
  * functions
  */
-#ifdef COBJMACROS
+#if !defined (__cplusplus) || defined(CINTERFACE)
 /*** IUnknown methods ***/
 #define IDirectPlaySP_QueryInterface(p,a,b)        (p)->lpVtbl->QueryInterface(p,a,b)
 #define IDirectPlaySP_AddRef(p)                    (p)->lpVtbl->AddRef(p)
Index: dlls/dplayx/lobbysp.h
===================================================================
RCS file: /var/cvs/wine/dlls/dplayx/lobbysp.h,v
retrieving revision 1.9
diff -u -r1.9 lobbysp.h
--- dlls/dplayx/lobbysp.h	12 Aug 2004 03:33:30 -0000	1.9
+++ dlls/dplayx/lobbysp.h	30 Sep 2004 18:27:32 -0000
@@ -483,7 +483,7 @@
 DECLARE_INTERFACE_(IDPLobbySP,IUnknown) { IDPLobbySP_METHODS };
 #undef INTERFACE
 
-#ifdef COBJMACROS
+#if !defined (__cplusplus) || defined(CINTERFACE)
 /*** IUnknown methods ***/
 #define IDPLobbySP_QueryInterface(p,a,b)         (p)->lpVtbl->QueryInterface(p,a,b)
 #define IDPLobbySP_AddRef(p)                     (p)->lpVtbl->AddRef(p)
Index: include/dsdriver.h
===================================================================
RCS file: /var/cvs/wine/include/dsdriver.h,v
retrieving revision 1.10
diff -u -r1.10 dsdriver.h
--- include/dsdriver.h	12 Aug 2004 03:33:30 -0000	1.10
+++ include/dsdriver.h	30 Sep 2004 18:29:26 -0000
@@ -144,7 +144,7 @@
 DECLARE_INTERFACE_(IDsDriver,IUnknown) { IDsDriver_METHODS };
 #undef INTERFACE
 
-#ifdef COBJMACROS
+#if !defined (__cplusplus) || defined(CINTERFACE)
     /*** IUnknown methods ***/
 #define IDsDriver_QueryInterface(p,a,b)         (p)->lpVtbl->QueryInterface(p,a,b)
 #define IDsDriver_AddRef(p)                     (p)->lpVtbl->AddRef(p)
@@ -176,7 +176,7 @@
 DECLARE_INTERFACE_(IDsDriverBuffer,IUnknown) { IDsDriverBuffer_METHODS };
 #undef INTERFACE
 
-#ifdef COBJMACROS
+#if !defined (__cplusplus) || defined(CINTERFACE)
     /*** IUnknown methods ***/
 #define IDsDriverBuffer_QueryInterface(p,a,b)   (p)->lpVtbl->QueryInterface(p,a,b)
 #define IDsDriverBuffer_AddRef(p)               (p)->lpVtbl->AddRef(p)
@@ -205,7 +205,7 @@
 DECLARE_INTERFACE_(IDsDriverPropertySet,IUnknown) { IDsDriverPropertySet_METHODS };
 #undef INTERFACE
 
-#ifdef COBJMACROS
+#if !defined (__cplusplus) || defined(CINTERFACE)
     /*** IUnknown methods ***/
 #define IDsDriverPropertySet_QueryInterface(p,a,b)      (p)->lpVtbl->QueryInterface(p,a,b)
 #define IDsDriverPropertySet_AddRef(p)                  (p)->lpVtbl->AddRef(p)
@@ -261,7 +261,7 @@
 DECLARE_INTERFACE_(IDsDriverNotify,IUnknown) { IDsDriverNotify_METHODS };
 #undef INTERFACE
 
-#ifdef COBJMACROS
+#if !defined (__cplusplus) || defined(CINTERFACE)
     /*** IUnknown methods ***/
 #define IDsDriverNotify_QueryInterface(p,a,b)           (p)->lpVtbl->QueryInterface(p,a,b)
 #define IDsDriverNotify_AddRef(p)                       (p)->lpVtbl->AddRef(p)
@@ -284,7 +284,7 @@
 DECLARE_INTERFACE_(IDsCaptureDriver,IUnknown) { IDsCaptureDriver_METHODS };
 #undef INTERFACE
 
-#ifdef COBJMACROS
+#if !defined (__cplusplus) || defined(CINTERFACE)
     /*** IUnknown methods ***/
 #define IDsCaptureDriver_QueryInterface(p,a,b)          (p)->lpVtbl->QueryInterface(p,a,b)
 #define IDsCaptureDriver_AddRef(p)                      (p)->lpVtbl->AddRef(p)
@@ -313,7 +313,7 @@
 DECLARE_INTERFACE_(IDsCaptureDriverBuffer,IUnknown) { IDsCaptureDriverBuffer_METHODS };
 #undef INTERFACE
 
-#ifdef COBJMACROS
+#if !defined (__cplusplus) || defined(CINTERFACE)
     /*** IUnknown methods ***/
 #define IDsCaptureDriverBuffer_QueryInterface(p,a,b)    (p)->lpVtbl->QueryInterface(p,a,b)
 #define IDsCaptureDriverBuffer_AddRef(p)                (p)->lpVtbl->AddRef(p)
Index: include/wine/wined3d_interface.h
===================================================================
RCS file: /var/cvs/wine/include/wine/wined3d_interface.h,v
retrieving revision 1.4
diff -u -r1.4 wined3d_interface.h
--- include/wine/wined3d_interface.h	29 Sep 2004 21:26:47 -0000	1.4
+++ include/wine/wined3d_interface.h	30 Sep 2004 13:06:25 -0000
@@ -74,7 +74,7 @@
 DECLARE_INTERFACE_(IWineD3D,IUnknown) { IWineD3D_METHODS };
 #undef INTERFACE
 
-#ifdef COBJMACROS
+#if !defined(__cplusplus) || defined(CINTERFACE)
 /*** IUnknown methods ***/
 #define IWineD3D_QueryInterface(p,a,b)                    (p)->lpVtbl->QueryInterface(p,a,b)
 #define IWineD3D_AddRef(p)                                (p)->lpVtbl->AddRef(p)


More information about the wine-patches mailing list