mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-11-21 16:46:54 -08:00
widl-SLTG_Typelib_Support: Rebase.
This commit is contained in:
parent
81174370bb
commit
772a410836
@ -1,17 +1,18 @@
|
||||
From 3d5236979b081ae707d7f047fbf9e24a3cd0e4cf Mon Sep 17 00:00:00 2001
|
||||
From f86165f3d7289221abff169866659c8196c7f8dd Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Timoshkov <dmitry@baikal.ru>
|
||||
Date: Tue, 26 Jan 2016 15:41:06 +0800
|
||||
Subject: oleaut32: Add support for decoding SLTG function help strings.
|
||||
Subject: [PATCH 24/26] oleaut32: Add support for decoding SLTG function help
|
||||
strings.
|
||||
|
||||
---
|
||||
dlls/oleaut32/typelib.c | 23 +++++++++++++----------
|
||||
1 file changed, 13 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/dlls/oleaut32/typelib.c b/dlls/oleaut32/typelib.c
|
||||
index 4fb5a95..b9d8cbb 100644
|
||||
index f652e0b..d08ee5c 100644
|
||||
--- a/dlls/oleaut32/typelib.c
|
||||
+++ b/dlls/oleaut32/typelib.c
|
||||
@@ -4240,7 +4240,8 @@ static void SLTG_DoVars(char *pBlk, char *pFirstItem, ITypeInfoImpl *pTI, unsign
|
||||
@@ -4206,7 +4206,8 @@ static void SLTG_DoVars(char *pBlk, char *pFirstItem, ITypeInfoImpl *pTI, unsign
|
||||
}
|
||||
|
||||
static void SLTG_DoFuncs(char *pBlk, char *pFirstItem, ITypeInfoImpl *pTI,
|
||||
@ -21,16 +22,16 @@ index 4fb5a95..b9d8cbb 100644
|
||||
{
|
||||
SLTG_Function *pFunc;
|
||||
unsigned short i;
|
||||
@@ -4277,6 +4278,8 @@ static void SLTG_DoFuncs(char *pBlk, char *pFirstItem, ITypeInfoImpl *pTI,
|
||||
@@ -4243,6 +4244,8 @@ static void SLTG_DoFuncs(char *pBlk, char *pFirstItem, ITypeInfoImpl *pTI,
|
||||
pFuncDesc->funcdesc.cParams = pFunc->nacc >> 3;
|
||||
pFuncDesc->funcdesc.cParamsOpt = (pFunc->retnextopt & 0x7e) >> 1;
|
||||
pFuncDesc->funcdesc.oVft = pFunc->vtblpos & ~1;
|
||||
pFuncDesc->funcdesc.oVft = (pFunc->vtblpos & ~1) * sizeof(void *) / pTI->pTypeLib->ptr_size;
|
||||
+ if (pFunc->helpstring != 0xffff)
|
||||
+ pFuncDesc->HelpString = decode_string(hlp_strings, pBlk + pFunc->helpstring, pNameTable - pBlk, pTI->pTypeLib);
|
||||
|
||||
if(pFunc->magic & SLTG_FUNCTION_FLAGS_PRESENT)
|
||||
pFuncDesc->funcdesc.wFuncFlags = pFunc->funcflags;
|
||||
@@ -4364,7 +4367,7 @@ static void SLTG_ProcessCoClass(char *pBlk, ITypeInfoImpl *pTI,
|
||||
@@ -4330,7 +4333,7 @@ static void SLTG_ProcessCoClass(char *pBlk, ITypeInfoImpl *pTI,
|
||||
|
||||
static void SLTG_ProcessInterface(char *pBlk, ITypeInfoImpl *pTI,
|
||||
char *pNameTable, SLTG_TypeInfoHeader *pTIHeader,
|
||||
@ -39,7 +40,7 @@ index 4fb5a95..b9d8cbb 100644
|
||||
{
|
||||
char *pFirstItem;
|
||||
sltg_ref_lookup_t *ref_lookup = NULL;
|
||||
@@ -4381,7 +4384,7 @@ static void SLTG_ProcessInterface(char *pBlk, ITypeInfoImpl *pTI,
|
||||
@@ -4347,7 +4350,7 @@ static void SLTG_ProcessInterface(char *pBlk, ITypeInfoImpl *pTI,
|
||||
}
|
||||
|
||||
if (pTITail->funcs_off != 0xffff)
|
||||
@ -48,7 +49,7 @@ index 4fb5a95..b9d8cbb 100644
|
||||
|
||||
heap_free(ref_lookup);
|
||||
|
||||
@@ -4426,7 +4429,7 @@ static void SLTG_ProcessAlias(char *pBlk, ITypeInfoImpl *pTI,
|
||||
@@ -4392,7 +4395,7 @@ static void SLTG_ProcessAlias(char *pBlk, ITypeInfoImpl *pTI,
|
||||
|
||||
static void SLTG_ProcessDispatch(char *pBlk, ITypeInfoImpl *pTI,
|
||||
char *pNameTable, SLTG_TypeInfoHeader *pTIHeader,
|
||||
@ -57,7 +58,7 @@ index 4fb5a95..b9d8cbb 100644
|
||||
{
|
||||
sltg_ref_lookup_t *ref_lookup = NULL;
|
||||
if (pTIHeader->href_table != 0xffffffff)
|
||||
@@ -4437,7 +4440,7 @@ static void SLTG_ProcessDispatch(char *pBlk, ITypeInfoImpl *pTI,
|
||||
@@ -4403,7 +4406,7 @@ static void SLTG_ProcessDispatch(char *pBlk, ITypeInfoImpl *pTI,
|
||||
SLTG_DoVars(pBlk, pBlk + pTITail->vars_off, pTI, pTITail->cVars, pNameTable, ref_lookup);
|
||||
|
||||
if (pTITail->funcs_off != 0xffff)
|
||||
@ -66,7 +67,7 @@ index 4fb5a95..b9d8cbb 100644
|
||||
|
||||
if (pTITail->impls_off != 0xffff)
|
||||
SLTG_DoImpls(pBlk + pTITail->impls_off, pTI, FALSE, ref_lookup);
|
||||
@@ -4461,7 +4464,7 @@ static void SLTG_ProcessEnum(char *pBlk, ITypeInfoImpl *pTI,
|
||||
@@ -4427,7 +4430,7 @@ static void SLTG_ProcessEnum(char *pBlk, ITypeInfoImpl *pTI,
|
||||
|
||||
static void SLTG_ProcessModule(char *pBlk, ITypeInfoImpl *pTI,
|
||||
char *pNameTable, SLTG_TypeInfoHeader *pTIHeader,
|
||||
@ -75,7 +76,7 @@ index 4fb5a95..b9d8cbb 100644
|
||||
{
|
||||
sltg_ref_lookup_t *ref_lookup = NULL;
|
||||
if (pTIHeader->href_table != 0xffffffff)
|
||||
@@ -4472,7 +4475,7 @@ static void SLTG_ProcessModule(char *pBlk, ITypeInfoImpl *pTI,
|
||||
@@ -4438,7 +4441,7 @@ static void SLTG_ProcessModule(char *pBlk, ITypeInfoImpl *pTI,
|
||||
SLTG_DoVars(pBlk, pBlk + pTITail->vars_off, pTI, pTITail->cVars, pNameTable, ref_lookup);
|
||||
|
||||
if (pTITail->funcs_off != 0xffff)
|
||||
@ -84,7 +85,7 @@ index 4fb5a95..b9d8cbb 100644
|
||||
heap_free(ref_lookup);
|
||||
if (TRACE_ON(typelib))
|
||||
dump_TypeInfo(pTI);
|
||||
@@ -4734,7 +4737,7 @@ static ITypeLib2* ITypeLib2_Constructor_SLTG(LPVOID pLib, DWORD dwTLBLength)
|
||||
@@ -4700,7 +4703,7 @@ static ITypeLib2* ITypeLib2_Constructor_SLTG(LPVOID pLib, DWORD dwTLBLength)
|
||||
|
||||
case TKIND_INTERFACE:
|
||||
SLTG_ProcessInterface((char *)(pMemHeader + 1), *ppTypeInfoImpl, pNameTable,
|
||||
@ -93,7 +94,7 @@ index 4fb5a95..b9d8cbb 100644
|
||||
break;
|
||||
|
||||
case TKIND_COCLASS:
|
||||
@@ -4749,12 +4752,12 @@ static ITypeLib2* ITypeLib2_Constructor_SLTG(LPVOID pLib, DWORD dwTLBLength)
|
||||
@@ -4715,12 +4718,12 @@ static ITypeLib2* ITypeLib2_Constructor_SLTG(LPVOID pLib, DWORD dwTLBLength)
|
||||
|
||||
case TKIND_DISPATCH:
|
||||
SLTG_ProcessDispatch((char *)(pMemHeader + 1), *ppTypeInfoImpl, pNameTable,
|
||||
@ -109,5 +110,5 @@ index 4fb5a95..b9d8cbb 100644
|
||||
|
||||
default:
|
||||
--
|
||||
2.6.4
|
||||
2.7.4
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user