Module: wine Branch: master Commit: 084fa63e606ca6d289e98e5ca7c11718591f5f4e URL: http://source.winehq.org/git/wine.git/?a=commit;h=084fa63e606ca6d289e98e5ca7...
Author: Alistair Leslie-Hughes leslie_alistair@hotmail.com Date: Tue Jul 11 02:30:15 2017 +0000
widl: Only generate Proxy Stubs when functions have the call_as attribute.
Signed-off-by: Alistair Leslie-Hughes leslie_alistair@hotmail.com Signed-off-by: Huw Davies huw@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/windowscodecs/tests/converter.c | 3 +++ include/unknwn.idl | 10 ++++++++++ tools/widl/header.c | 2 +- 3 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/dlls/windowscodecs/tests/converter.c b/dlls/windowscodecs/tests/converter.c index 9da82f1..fba7fc7 100644 --- a/dlls/windowscodecs/tests/converter.c +++ b/dlls/windowscodecs/tests/converter.c @@ -45,6 +45,9 @@ typedef struct BitmapTestSrc { const bitmap_data *data; } BitmapTestSrc;
+extern HRESULT STDMETHODCALLTYPE IWICBitmapFrameEncode_WriteSource_Proxy(IWICBitmapFrameEncode* This, + IWICBitmapSource *pIBitmapSource, WICRect *prc); + static BOOL near_equal(float a, float b) { return fabsf(a - b) < 0.001; diff --git a/include/unknwn.idl b/include/unknwn.idl index 78a2d9d..7856a7f 100644 --- a/include/unknwn.idl +++ b/include/unknwn.idl @@ -46,6 +46,16 @@ interface IUnknown ULONG Release(); }
+cpp_quote("HRESULT STDMETHODCALLTYPE IUnknown_QueryInterface_Proxy(IUnknown* This, REFIID riid, void **ppvObject);") +cpp_quote("void __RPC_STUB IUnknown_QueryInterface_Stub(IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer,") +cpp_quote(" PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase);") +cpp_quote("ULONG STDMETHODCALLTYPE IUnknown_AddRef_Proxy(IUnknown* This);") +cpp_quote("void __RPC_STUB IUnknown_AddRef_Stub(IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer,") +cpp_quote(" PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase);") +cpp_quote("ULONG STDMETHODCALLTYPE IUnknown_Release_Proxy(IUnknown* This);") +cpp_quote("void __RPC_STUB IUnknown_Release_Stub(IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer,") +cpp_quote(" PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase);") + cpp_quote("#ifdef SAVE_WIDL_C_INLINE_WRAPPERS") cpp_quote("#define WIDL_C_INLINE_WRAPPERS") cpp_quote("#endif") diff --git a/tools/widl/header.c b/tools/widl/header.c index 7b97158..e48b488 100644 --- a/tools/widl/header.c +++ b/tools/widl/header.c @@ -1172,7 +1172,7 @@ static void write_method_proto(FILE *header, const type_t *iface) { const var_t *func = stmt->u.var;
- if (!is_local(func->attrs)) { + if (is_callas(func->attrs)) { const char *callconv = get_attrp(func->type->attrs, ATTR_CALLCONV); if (!callconv) callconv = "STDMETHODCALLTYPE"; /* proxy prototype */