Winesync to Wine-0.9.55.

svn path=/trunk/; revision=32256
This commit is contained in:
Aleksey Bragin 2008-02-10 12:26:59 +00:00
parent b14288d0bf
commit ee45368315
10 changed files with 20 additions and 17 deletions

View file

@ -837,7 +837,7 @@ BOOL WINAPI DllMain(HINSTANCE hInstDll, DWORD fdwReason, LPVOID lpvReserved)
switch (fdwReason) { switch (fdwReason) {
case DLL_PROCESS_ATTACH: case DLL_PROCESS_ATTACH:
DisableThreadLibraryCalls(hInstDll); DisableThreadLibraryCalls(hInstDll);
OLEAUT32_hModule = (HMODULE)hInstDll; OLEAUT32_hModule = hInstDll;
break; break;
case DLL_PROCESS_DETACH: case DLL_PROCESS_DETACH:
break; break;

View file

@ -1215,6 +1215,7 @@ static HRESULT WINAPI OLEFontImpl_GetTypeInfo(
return hres; return hres;
} }
hres = ITypeLib_GetTypeInfoOfGuid(tl, &IID_IFontDisp, ppTInfo); hres = ITypeLib_GetTypeInfoOfGuid(tl, &IID_IFontDisp, ppTInfo);
ITypeLib_Release(tl);
if (FAILED(hres)) { if (FAILED(hres)) {
FIXME("Did not IDispatch typeinfo from typelib, hres %x\n",hres); FIXME("Did not IDispatch typeinfo from typelib, hres %x\n",hres);
} }

View file

@ -1237,6 +1237,7 @@ static HRESULT OLEPictureImpl_LoadGif(OLEPictureImpl *This, BYTE *xbuf, ULONG xr
This->desc.picType = PICTYPE_BITMAP; This->desc.picType = PICTYPE_BITMAP;
OLEPictureImpl_SetBitmap(This); OLEPictureImpl_SetBitmap(This);
DGifCloseFile(gif); DGifCloseFile(gif);
HeapFree(GetProcessHeap(),0,bmi);
HeapFree(GetProcessHeap(),0,bytes); HeapFree(GetProcessHeap(),0,bytes);
return S_OK; return S_OK;
} }
@ -1277,7 +1278,7 @@ static HRESULT OLEPictureImpl_LoadJpeg(OLEPictureImpl *This, BYTE *xbuf, ULONG x
jd.err = pjpeg_std_error(&jerr); jd.err = pjpeg_std_error(&jerr);
/* jpeg_create_decompress is a macro that expands to jpeg_CreateDecompress - see jpeglib.h /* jpeg_create_decompress is a macro that expands to jpeg_CreateDecompress - see jpeglib.h
* jpeg_create_decompress(&jd); */ * jpeg_create_decompress(&jd); */
pjpeg_CreateDecompress(&jd, JPEG_LIB_VERSION, (size_t) sizeof(struct jpeg_decompress_struct)); pjpeg_CreateDecompress(&jd, JPEG_LIB_VERSION, sizeof(struct jpeg_decompress_struct));
jd.src = &xjsm; jd.src = &xjsm;
ret=pjpeg_read_header(&jd,TRUE); ret=pjpeg_read_header(&jd,TRUE);
jd.out_color_space = JCS_RGB; jd.out_color_space = JCS_RGB;

View file

@ -805,7 +805,7 @@ HRESULT WINAPI SafeArrayUnlock(SAFEARRAY *psa)
if (!psa) if (!psa)
return E_INVALIDARG; return E_INVALIDARG;
if ((LONG)InterlockedDecrement( (LONG*) &psa->cLocks) < 0) if (InterlockedDecrement( (LONG*) &psa->cLocks) < 0)
{ {
WARN("Unlocked but no lock held!\n"); WARN("Unlocked but no lock held!\n");
InterlockedIncrement( (LONG*) &psa->cLocks); InterlockedIncrement( (LONG*) &psa->cLocks);

View file

@ -1468,6 +1468,7 @@ xCall(LPVOID retptr, int method, TMProxyImpl *tpinfo /*, args */)
hres = remoteresult; hres = remoteresult;
exit: exit:
IRpcChannelBuffer_FreeBuffer(chanbuf,&msg);
for (i = 0; i < nrofnames; i++) for (i = 0; i < nrofnames; i++)
SysFreeString(names[i]); SysFreeString(names[i]);
HeapFree(GetProcessHeap(),0,buf.base); HeapFree(GetProcessHeap(),0,buf.base);

View file

@ -2587,7 +2587,7 @@ static ITypeLib2* ITypeLib2_Constructor_MSFT(LPVOID pLib, DWORD dwTLBLength)
ITypeInfoImpl **ppTI = &(pTypeLibImpl->pTypeInfo); ITypeInfoImpl **ppTI = &(pTypeLibImpl->pTypeInfo);
int i; int i;
for(i = 0; i<(int)tlbHeader.nrtypeinfos; i++) for(i = 0; i < tlbHeader.nrtypeinfos; i++)
{ {
*ppTI = MSFT_DoTypeInfo(&cx, i, pTypeLibImpl); *ppTI = MSFT_DoTypeInfo(&cx, i, pTypeLibImpl);
@ -6249,7 +6249,7 @@ static HRESULT WINAPI ITypeInfo_fnGetRefTypeInfo(
if(ref_type->pImpTLInfo->pImpTypeLib) { if(ref_type->pImpTLInfo->pImpTypeLib) {
TRACE("typeinfo in imported typelib that is already loaded\n"); TRACE("typeinfo in imported typelib that is already loaded\n");
pTLib = (ITypeLib*)ref_type->pImpTLInfo->pImpTypeLib; pTLib = (ITypeLib*)ref_type->pImpTLInfo->pImpTypeLib;
ITypeLib2_AddRef((ITypeLib*) pTLib); ITypeLib2_AddRef(pTLib);
result = S_OK; result = S_OK;
} else { } else {
TRACE("typeinfo in imported typelib that isn't already loaded\n"); TRACE("typeinfo in imported typelib that isn't already loaded\n");

View file

@ -96,13 +96,13 @@ typedef struct tagMSFT_SegDir {
/*1*/MSFT_pSeg pTypeInfoTab; /* each type info get an entry of 0x64 bytes */ /*1*/MSFT_pSeg pTypeInfoTab; /* each type info get an entry of 0x64 bytes */
/* (25 ints) */ /* (25 ints) */
/*2*/MSFT_pSeg pImpInfo; /* table with info for imported types */ /*2*/MSFT_pSeg pImpInfo; /* table with info for imported types */
/*3*/MSFT_pSeg pImpFiles; /* import libaries */ /*3*/MSFT_pSeg pImpFiles; /* import libraries */
/*4*/MSFT_pSeg pRefTab; /* References table */ /*4*/MSFT_pSeg pRefTab; /* References table */
/*5*/MSFT_pSeg pLibtab; /* always exists, alway same size (0x80) */ /*5*/MSFT_pSeg pLibtab; /* always exists, always same size (0x80) */
/* hash table w offsets to guid????? */ /* hash table w offsets to guid????? */
/*6*/MSFT_pSeg pGuidTab; /* all guids are stored here together with */ /*6*/MSFT_pSeg pGuidTab; /* all guids are stored here together with */
/* offset in some table???? */ /* offset in some table???? */
/*7*/MSFT_pSeg res07; /* always created, alway same size (0x200) */ /*7*/MSFT_pSeg res07; /* always created, always same size (0x200) */
/* purpose largely unknown */ /* purpose largely unknown */
/*8*/MSFT_pSeg pNametab; /* name tables */ /*8*/MSFT_pSeg pNametab; /* name tables */
/*9*/MSFT_pSeg pStringtab; /* string table */ /*9*/MSFT_pSeg pStringtab; /* string table */
@ -120,10 +120,10 @@ typedef struct tagMSFT_SegDir {
/* base type info data */ /* base type info data */
typedef struct tagMSFT_TypeInfoBase { typedef struct tagMSFT_TypeInfoBase {
/*000*/ INT typekind; /* it is the TKIND_xxx */ /*000*/ INT typekind; /* it is the TKIND_xxx */
/* some byte alignment stuf */ /* some byte alignment stuff */
INT memoffset; /* points past the file, if no elements */ INT memoffset; /* points past the file, if no elements */
INT res2; /* zero if no element, N*0x40 */ INT res2; /* zero if no element, N*0x40 */
INT res3; /* -1 if no lement, (N-1)*0x38 */ INT res3; /* -1 if no element, (N-1)*0x38 */
/*010*/ INT res4; /* always? 3 */ /*010*/ INT res4; /* always? 3 */
INT res5; /* always? zero */ INT res5; /* always? zero */
INT cElement; /* counts elements, HI=cVars, LO=cFuncs */ INT cElement; /* counts elements, HI=cVars, LO=cFuncs */

View file

@ -91,7 +91,7 @@ QueryPathOfRegTypeLib16(
wMaj,wMin,lcid); wMaj,wMin,lcid);
} else { } else {
sprintf(xguid,"<guid 0x%08x>",(DWORD)guid); sprintf(xguid,"<guid 0x%08x>",(DWORD)guid);
FIXME("(%s,%d,%d,0x%04x,%p),can't handle non-string guids.\n",xguid,wMaj,wMin,(DWORD)lcid,path); FIXME("(%s,%d,%d,0x%04x,%p),can't handle non-string guids.\n",xguid,wMaj,wMin,lcid,path);
return E_FAIL; return E_FAIL;
} }
plen = sizeof(pathname); plen = sizeof(pathname);

View file

@ -1225,7 +1225,7 @@ static HRESULT WINAPI ICreateTypeInfo2_fnSetTypeFlags(ICreateTypeInfo2 *iface, U
This->typeinfo->flags = uTypeFlags; This->typeinfo->flags = uTypeFlags;
if (uTypeFlags & 0x1000) { if (uTypeFlags & TYPEFLAG_FDISPATCHABLE) {
MSFT_GuidEntry foo; MSFT_GuidEntry foo;
int guidoffset; int guidoffset;
int fileoffset; int fileoffset;

View file

@ -2654,7 +2654,7 @@ static HRESULT _VarChangeTypeExWrap (VARIANTARG* pvargDest,
* left [I] First variant * left [I] First variant
* right [I] Second variant * right [I] Second variant
* lcid [I] LCID (locale identifier) for the comparison * lcid [I] LCID (locale identifier) for the comparison
* flags [I] Flags to be used in the comparision: * flags [I] Flags to be used in the comparison:
* NORM_IGNORECASE, NORM_IGNORENONSPACE, NORM_IGNORESYMBOLS, * NORM_IGNORECASE, NORM_IGNORENONSPACE, NORM_IGNORESYMBOLS,
* NORM_IGNOREWIDTH, NORM_IGNOREKANATYPE, NORM_IGNOREKASHIDA * NORM_IGNOREWIDTH, NORM_IGNOREKANATYPE, NORM_IGNOREKASHIDA
* *
@ -2677,9 +2677,9 @@ static HRESULT _VarChangeTypeExWrap (VARIANTARG* pvargDest,
* is not an EMPTY variant. All four VT_RESERVED combinations have a * is not an EMPTY variant. All four VT_RESERVED combinations have a
* different meaning: * different meaning:
* - BSTR and other: BSTR is always greater than the other variant. * - BSTR and other: BSTR is always greater than the other variant.
* - BSTR|VT_RESERVED and other: a string comparision is performed. * - BSTR|VT_RESERVED and other: a string comparison is performed.
* - BSTR and other|VT_RESERVED: If the BSTR is a number a numeric * - BSTR and other|VT_RESERVED: If the BSTR is a number a numeric
* comparision will take place else the BSTR is always greater. * comparison will take place else the BSTR is always greater.
* - BSTR|VT_RESERVED and other|VT_RESERVED: It seems that the other * - BSTR|VT_RESERVED and other|VT_RESERVED: It seems that the other
* variant is ignored and the return value depends only on the sign * variant is ignored and the return value depends only on the sign
* of the BSTR if it is a number else the BSTR is always greater. A * of the BSTR if it is a number else the BSTR is always greater. A
@ -2763,7 +2763,7 @@ HRESULT WINAPI VarCmp(LPVARIANT left, LPVARIANT right, LCID lcid, DWORD flags)
/* No VT_RESERVED set ==> BSTR always greater */ /* No VT_RESERVED set ==> BSTR always greater */
rc = VARCMP_GT; rc = VARCMP_GT;
else if (breserv && !nreserv) { else if (breserv && !nreserv) {
/* BSTR has VT_RESERVED set. Do a string comparision */ /* BSTR has VT_RESERVED set. Do a string comparison */
rc = VariantChangeTypeEx(&rv,nonbv,lcid,0,VT_BSTR); rc = VariantChangeTypeEx(&rv,nonbv,lcid,0,VT_BSTR);
if (FAILED(rc)) if (FAILED(rc))
return rc; return rc;
@ -2780,7 +2780,7 @@ HRESULT WINAPI VarCmp(LPVARIANT left, LPVARIANT right, LCID lcid, DWORD flags)
the BSTR number */ the BSTR number */
rc = (V_R8(&lv) >= 0) ? VARCMP_GT : VARCMP_LT; rc = (V_R8(&lv) >= 0) ? VARCMP_GT : VARCMP_LT;
else else
/* Numeric comparision, will be handled below. /* Numeric comparison, will be handled below.
VARCMP_NULL used only to break out. */ VARCMP_NULL used only to break out. */
rc = VARCMP_NULL; rc = VARCMP_NULL;
VariantClear(&lv); VariantClear(&lv);