Commit Graph

87 Commits

Author SHA1 Message Date
Piotr Caban ba498e6002 oleaut32: Don't overwrite pointers in VARIANT_UserUnmarshal so we may free or reuse them.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-14 16:33:45 +09:00
Piotr Caban c1974090c6 oleaut32: Reuse safearray passed to LPSAFEARRAY_UserUnmarshal if possible.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-14 16:33:38 +09:00
Piotr Caban 37e2acb205 oleaut32: Pass safearray from VARIANT_UserUnmarshal to LPSAFEARRAY_UserUnmarshal so it can be reused.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-14 16:33:32 +09:00
Piotr Caban 3815eca268 oleaut32: Set safearray pointer to NULL in LPSAFEARRAY_UserFree.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-14 16:33:24 +09:00
Huw Davies 9ed47775d6 oleaut32: Clear any existing interface before calling WdtpInterfacePointer_UserUnmarshal().
The code has already called VariantClear() which has released the
interface yet not set it to NULL.  This is to prevent a double-release
after a forthcoming patch to WdtpInterfacePointer_UserUnmarshal().

Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-28 00:58:13 +09:00
Nikolay Sivov 0bed1bfd93 oleaut32: Implemented a couple more proxy/stub methods. 2015-06-01 14:43:00 +09:00
Nikolay Sivov 1d91c844da oleaut32: Added missing IPersistMemory proxy/stub methods. 2015-05-20 17:33:02 +09:00
Nikolay Sivov 298929c840 oleaut32: Added IEnumConnectionPoints::Next proxy/stub. 2015-05-15 21:58:07 +09:00
Nikolay Sivov 25b689cf1c oleaut32: Implement proxy/stub for IEnumConnections::Next(). 2015-05-07 22:29:22 +09:00
Francois Gouget 4d65584f8a oleaut32: Remove unneeded NONAMELESSXXX directives. 2015-03-17 14:18:59 +09:00
Nikolay Sivov 44360823b9 oleaut32: Use WdtpInterfacePointer_* functions in VARIANT marshalling. 2015-03-09 22:06:21 +09:00
Nikolay Sivov 60252ea65b oleaut32: Fix RecordCopy()/RecordClear() behavior. 2014-02-04 11:10:48 +01:00
Marcus Meissner 0f86ae37c6 oleaut32: Check a return value (Coverity). 2013-07-03 21:20:04 +02:00
Nikolay Sivov 4ee9aef018 oleaut32: Added proxy/stub body for CreateInstanceLic(). 2013-06-06 10:42:18 +02:00
Frédéric Delanoy a7cb73d39e oleaut32: Avoid harcoding array lengths. 2011-11-21 11:05:04 +01:00
Francois Gouget c21bfe4479 oleaut32: Fix the spelling of an internal structure field name. 2011-08-03 14:15:48 +02:00
Alexandre Julliard 38a797990c oleaut32: Reallocate in BSTR_UserUnmarshal to avoid changing the pointer if the string didn't change. 2011-05-18 11:35:17 +02:00
Alistair Leslie-Hughes f6b16ea774 oleaut32: Implement ITypeInfo_GetNames Stub/Proxy. 2011-02-22 12:49:40 +01:00
Huw Davies 9e0e3a73d2 oleaut32: Implement proxy / stub for ITypeLib2_GetDocumentation2. 2011-02-11 14:52:49 +01:00
Huw Davies afeaaf3787 oleaut32: Implement proxy / stub for ITypeLib_GetDocumentation. 2011-02-11 14:52:45 +01:00
Huw Davies 1260bc8892 oleaut32: Implement proxy / stub for ITypeInfo2_GetDocumentation2. 2011-02-11 14:52:41 +01:00
Huw Davies 7cdc8bb418 oleaut32: Implement proxy / stub for ITypeInfo_GetDllEntry. 2011-02-11 14:52:36 +01:00
Huw Davies ef05072e27 oleaut32: Rewrite ITypeInfo_GetDocumentation proxy/stub to return only the information that is requested. 2011-02-10 10:28:01 -06:00
Nikolay Sivov 95416ff904 oleaut32: Unmarshalled safearray is always unlocked. 2011-01-24 12:35:02 +01:00
Nikolay Sivov b08d3d2656 oleaut32: Fix multidimensional SAFEARRAY marshalling. 2010-10-19 10:58:19 +02:00
Huw Davies 522a00e69a oleaut32: Correctly marshal NULL interface ptrs. 2010-02-25 15:59:47 +01:00
Jeremy White 04a2102428 oleaut32: Use wire sizes for marshaled safe arrays of bstrs and variants; fixes a test failure on win64. 2009-12-11 17:47:30 +01:00
Rob Shearman 489b73dd9e oleaut32: Fix size of memory allocated for byrefs in VARIANT_UserMarshal. 2009-11-29 16:37:10 +01:00
Rob Shearman 6d7572c0e7 oleaut32: Unmarshall byref types correctly in IDispatch_Invoke_Proxy.
Byref arguments should only be passed in the rgVarRef array, not in
arg array. Copy the value into the rgVarRef array before calling the
remote function to ensure that memory isn't allocated for the byref
pointers during unmarshalling.
2009-11-18 11:15:27 +01:00
Alexandre Julliard 74c985aad1 oleaut32: Fix safe array marshalling on 64-bit. 2009-07-10 19:13:27 +02:00
Rob Shearman 47ae95ccce oleaut32: Fix the SAFEARRAY marshalling on 64-bit platforms.
The pointers should be written as NDR 4-byte fields instead of a
platform-dependent size.
2009-04-07 14:53:43 +02:00
Marcus Meissner a9c0c247ed oleaut32: IPropertyBag_Read_Proxy return on unknown type (Coverity 892). 2009-04-06 15:35:57 +02:00
Michael Stefaniuc a3f8fd71e1 oleaut32: Remove superfluous pointer casts. 2009-02-09 14:37:23 +01:00
Michael Karcher a16b79cf72 oleaut32: Implement IPropertyBag::Read proxying. 2009-01-04 13:33:46 +01:00
Alexandre Julliard 8d8ff37ca3 oleaut32: Use a dlldata.c file instead of maintaining the data manually. 2008-12-02 10:32:14 +01:00
Alexandre Julliard cb7a0da5db widl: Fix the handling of proxy delegation.
Generate a BaseIIDList for delegated interface, and point directly to
the methods that have been defined in the same file instead of
delegating them.
2008-11-28 12:55:59 +01:00
Michael Stefaniuc f830a12ddb oleaut32: Remove redundant NULL check before SysFreeString (Smatch). 2008-09-25 11:18:59 +02:00
Dan Hipschman 9e6784c2a7 oleaut32: Add a widl-generated proxy file for ocidl.idl. 2008-09-02 18:02:04 +02:00
Rob Shearman 67a213fc1e oleaut32: Try to re-use existing memory when unmarshalling variants with byref types. 2007-12-07 16:34:28 +01:00
Rob Shearman baccba317e oleaut32: Don't call SafeArrayAllocData in LPSAFEARRAY_UserUnmarshal if we called SafeArrayCreateEx instead of SafeArrayAllocDescriptor.
Otherwise, we'll leak memory.
2007-12-07 16:34:23 +01:00
Rob Shearman 6539b3801d oleaut32: Handle non-byref safe arrays in VARIANT_UserFree. 2007-11-12 12:54:04 +01:00
Dan Hipschman 9d7b34c192 oleaut32: Use widl to generate oaidl_p.c. 2007-10-25 13:33:37 +02:00
Dan Hipschman 816f993288 oleaut32: Add stubs for IPropertyBag_Read. 2007-10-24 13:52:16 +02:00
Andrew Talbot 61fde63fce oleaut32: Constify some variables. 2007-08-03 12:38:26 +02:00
Andrew Talbot 582ae3f3c9 oleaut32: Constify some variables. 2007-08-02 12:18:41 +02:00
Huw Davies da98b1cb61 oleaut32: Handle marshaling of VARTYPE-less FADF_VARIANT safearrays. 2007-06-25 11:34:39 +02:00
Huw Davies 3c8534f013 oleaut32: Implement marshaling of VT_BYREF interfaces. 2007-06-25 11:34:33 +02:00
Rob Shearman bb08a58965 oleaut32: Clear the input pvar structure in VARIANT_UserUnmarshal to free the data instead of just initializing. 2007-03-20 12:57:42 +01:00
Huw Davies 2dd3aa6293 oleaut32: Fix marshaling of VARTYPE-less safearrays. 2007-02-05 12:26:14 +01:00
Dmitry Timoshkov 601bf6ea12 oleaut32: Make some data const and static. 2006-11-28 12:36:20 +01:00