Skip to content

Commit

Permalink
Merge pull request #602 from cracyc/typelib
Browse files Browse the repository at this point in the history
more typelib and variant fixes
  • Loading branch information
otya128 committed Jan 20, 2020
2 parents 35a0e37 + 5b27992 commit 40837fd
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 2 deletions.
2 changes: 1 addition & 1 deletion ole2disp/var/variant.c
Original file line number Diff line number Diff line change
Expand Up @@ -973,7 +973,7 @@ HRESULT WINAPI VariantCopyInd16(VARIANT16* pvargDest, VARIANTARG16* pvargSrc)
if (V_VT(V_VARIANTREF16(pSrc)) == (VT_VARIANT|VT_BYREF))
hres = E_INVALIDARG; /* Don't dereference more than one level */
else
hres = VariantCopyInd16(pvargDest, V_VARIANTREF(pSrc));
hres = VariantCopyInd16(pvargDest, (VARIANTARG16 *)MapSL((SEGPTR)V_VARIANTREF(pSrc)));

/* Use the dereferenced variants type value, not VT_VARIANT16 */
goto VariantCopy16Ind_Return;
Expand Down
5 changes: 4 additions & 1 deletion ole2disp/wine_typelib.c
Original file line number Diff line number Diff line change
Expand Up @@ -4123,7 +4123,10 @@ static void SLTG_DoVars(char *pBlk, char *pFirstItem, ITypeInfoImpl *pTI, unsign
if (pItem->magic != SLTG_VAR_MAGIC &&
pItem->magic != SLTG_VAR_WITH_FLAGS_MAGIC) {
FIXME_(typelib)("var magic = %02x\n", pItem->magic);
return;
if (pItem->magic != SLTG_VAR_UNK)
return;
else
continue;
}

if (pItem->name == 0xfffe)
Expand Down
1 change: 1 addition & 0 deletions ole2disp/wine_typelib.h
Original file line number Diff line number Diff line change
Expand Up @@ -589,6 +589,7 @@ typedef struct {

#define SLTG_VAR_MAGIC 0x0a
#define SLTG_VAR_WITH_FLAGS_MAGIC 0x2a
#define SLTG_VAR_UNK 0x3a // hidden?


/* CARRAYs look like this
Expand Down

0 comments on commit 40837fd

Please sign in to comment.