Create Standard Font for more interfaces
Medland, Bill
Bill.Medland at accpac.com
Mon Jan 14 16:09:22 CST 2002
-------------- next part --------------
Bill Medland (medbi01 at accpac.com)
Leave IID check to the OleCreateFontIndirect, so that SFCF will handle all the
interfaces that OleCreate.. will.
Index: wine/dlls/oleaut32/olefont.c
===================================================================
RCS file: /home/wine/wine/dlls/oleaut32/olefont.c,v
retrieving revision 1.13
diff -u -r1.13 olefont.c
--- wine/dlls/oleaut32/olefont.c 2002/01/01 00:24:31 1.13
+++ wine/dlls/oleaut32/olefont.c 2002/01/14 20:23:26
@@ -285,6 +285,9 @@
*ppvObj = 0;
+ if (lpFontDesc == 0)
+ return NO_ERROR; /* MSDN Oct 2001 */
+
/*
* Try to construct a new instance of the class.
*/
@@ -1652,27 +1655,21 @@
static HRESULT WINAPI SFCF_CreateInstance(
LPCLASSFACTORY iface,LPUNKNOWN pOuter,REFIID riid,LPVOID *ppobj
) {
- ICOM_THIS(IClassFactoryImpl,iface);
+ FONTDESC fd;
- if (IsEqualGUID(riid,&IID_IFont)) {
- FONTDESC fd;
+ WCHAR fname[] = { 'S','y','s','t','e','m',0 };
- WCHAR fname[] = { 'S','y','s','t','e','m',0 };
+ fd.cbSizeofstruct = sizeof(fd);
+ fd.lpstrName = fname;
+ fd.cySize.s.Lo = 80000;
+ fd.cySize.s.Hi = 0;
+ fd.sWeight = 0;
+ fd.sCharset = 0;
+ fd.fItalic = 0;
+ fd.fUnderline = 0;
+ fd.fStrikethrough = 0;
+ return OleCreateFontIndirect(&fd,riid,ppobj);
- fd.cbSizeofstruct = sizeof(fd);
- fd.lpstrName = fname;
- fd.cySize.s.Lo = 80000;
- fd.cySize.s.Hi = 0;
- fd.sWeight = 0;
- fd.sCharset = 0;
- fd.fItalic = 0;
- fd.fUnderline = 0;
- fd.fStrikethrough = 0;
- return OleCreateFontIndirect(&fd,riid,ppobj);
- }
-
- FIXME("(%p)->(%p,%s,%p)\n",This,pOuter,debugstr_guid(riid),ppobj);
- return E_NOINTERFACE;
}
static HRESULT WINAPI SFCF_LockServer(LPCLASSFACTORY iface,BOOL dolock) {
More information about the wine-patches
mailing list