PATCH: devenum: fix pointer aliasing
Marcus Meissner
marcus at jet.franken.de
Sat Jul 19 08:11:29 CDT 2003
Hi,
Changelog:
Fix 2 small pointer aliasing problems.
Index: dlls/devenum/devenum_main.c
===================================================================
RCS file: /home/wine/wine/dlls/devenum/devenum_main.c,v
retrieving revision 1.3
diff -u -r1.3 devenum_main.c
--- dlls/devenum/devenum_main.c 1 Jul 2003 04:30:30 -0000 1.3
+++ dlls/devenum/devenum_main.c 19 Jul 2003 13:10:48 -0000
@@ -76,7 +76,7 @@
* Oh well - works just fine as it is */
if (IsEqualGUID(rclsid, &CLSID_SystemDeviceEnum) ||
IsEqualGUID(rclsid, &CLSID_CDeviceMoniker))
- return IClassFactory_QueryInterface((LPCLASSFACTORY)&DEVENUM_ClassFactory, iid, ppv);
+ return IClassFactory_QueryInterface((LPCLASSFACTORY)(char*)&DEVENUM_ClassFactory, iid, ppv);
FIXME("\n\tCLSID:\t%s,\n\tIID:\t%s\n",debugstr_guid(rclsid),debugstr_guid(iid));
return CLASS_E_CLASSNOTAVAILABLE;
}
@@ -142,9 +142,13 @@
const WCHAR friendlymidirend[] = {'M','i','d','i',' ','R','e','n','d','e','r','e','r','s',0};
const WCHAR friendlyextrend[] = {'E','x','t','e','r','n','a','l',' ','R','e','n','d','e','r','e','r','s',0};
const WCHAR friendlydevctrl[] = {'D','e','v','i','c','e',' ','C','o','n','t','r','o','l',' ','F','i','l','t','e','r','s',0};
+ LPVOID mapvptr;
+
CoInitialize(NULL);
+
res = CoCreateInstance(&CLSID_FilterMapper2, NULL, CLSCTX_INPROC,
- &IID_IFilterMapper2, (void **) &pMapper);
+ &IID_IFilterMapper2, &mapvptr);
+ pMapper = (IFilterMapper2*)mapvptr;
IFilterMapper2_CreateCategory(pMapper, &CLSID_VideoInputDeviceCategory, MERIT_DO_NOT_USE, friendlyvidcap);
IFilterMapper2_CreateCategory(pMapper, &CLSID_LegacyAmFilterCategory, MERIT_NORMAL, friendlydshow);
More information about the wine-patches
mailing list