Commit Graph

1206 Commits

Author SHA1 Message Date
Huw Davies e848f6d539 oleaut32: Fixes for the PICTYPE_UNINITIALIZED case. 2007-06-06 12:09:48 +02:00
Alex Villacís Lasso 38079e0744 oleaut32: Support for VT_DISPATCH in VarRound. 2007-06-05 12:20:46 +02:00
Alex Villacís Lasso 7f84b91bff oleaut32: Support for VT_DISPATCH in VarNeg. 2007-06-05 12:20:37 +02:00
Alex Villacís Lasso f1b44b36e4 oleaut32: Support for VT_DISPATCH in VarInt. 2007-06-05 12:20:28 +02:00
Alex Villacís Lasso bd7de42787 oleaut32: Support for VT_DISPATCH in VarFix. 2007-06-05 12:20:18 +02:00
Alex Villacís Lasso 2ebe12397f oleaut32: Support for VT_DISPATCH in VarNot. 2007-06-05 12:20:08 +02:00
Alex Villacís Lasso 932fcac150 oleaut32: Support for VT_DISPATCH in VarAbs. 2007-06-05 12:19:31 +02:00
Francois Gouget cb029e0b30 oleaut32/tests: Improve vtstr() and variantstr().
- Use a CASE() macro to simplify the vtstr() code and eliminate hard-coded variant type values.
- Update the list of known variant types.
- If a variant type is unknown, print its numerical value.
- In variantstr(), hand off all the standard cases to vtstr(), instead of (partially) duplicating its code.
2007-06-01 12:40:26 +02:00
Francois Gouget d252693a04 oleaut32/tests: Convert some macros to functions. 2007-05-31 14:18:26 +02:00
Francois Gouget fbb892c604 oleaut32/tests: Fix the EQ_DOUBLE() and EQ_FLOAT() macros so they work no matter how large the values to compare are.
Use them everywhere.
2007-05-31 14:18:20 +02:00
Francois Gouget 82a7753058 oleaut32/tests: Remove unneeded parentheses. 2007-05-31 14:18:07 +02:00
Francois Gouget c2d24fdba9 oleaut32/tests: Remove redundant semi-colons. 2007-05-31 14:17:59 +02:00
Rob Shearman e98ec6db4c oleaut32: Fix the references in function descriptions returned for dual IDispatch interfaces.
Do this by changing references from other interfaces (and possibly other 
typelibs) to uniquely identify them.

Add special handling to GetRefTypeInfo to cope with this.
2007-05-30 11:51:54 +02:00
Rob Shearman bacf5c640f oleaut32: For automatic-value-getting in ITypeInfo::Invoke, it doesn't matter what flag(s) the function was executed with, just what type of function is being invoked. 2007-05-30 11:51:37 +02:00
Francois Gouget fa48cb042c Assorted spelling fixes. 2007-05-29 13:47:18 +02:00
Francois Gouget ffbf92f5f2 oleaut32/tests: Fix the Visual C++ double to float conversion warnings. 2007-05-29 13:47:09 +02:00
Dmitry Timoshkov 8bf41d88c8 oleaut32: Add support for loading and drawing metafiles. 2007-05-29 11:56:18 +02:00
Huw Davies cd3df383a5 oleaut32: SLTG references are only unique at the typeinfo level, so convert them to be unique to the typelib. 2007-05-25 19:37:12 +02:00
Marcus Meissner 46d94653f1 oleau32: Fix one entry overflow (Coverity). 2007-05-23 12:51:33 +02:00
Huw Davies c1e89400aa oleaut32: Recurse through the impltype list so that dispinterfaces get the correct parents. 2007-05-18 19:59:35 +02:00
Huw Davies b698b2909b oleaut32: Fix CreateDispTypeInfo to store the correct number of functions. 2007-05-18 19:59:29 +02:00
Huw Davies c24a53dc28 oleaut32: non-dual dispinterfaces should be marshaled via IDispatch. 2007-05-18 19:59:21 +02:00
Huw Davies f1da672df3 oleaut32: Move the proxy thunk creation code to a separate function. 2007-05-18 19:59:12 +02:00
Huw Davies 117f21de45 oleaut32: Test for interface that derives from IUnknown. 2007-05-18 19:57:53 +02:00
Huw Davies 04a76cf561 oleaut32: Tests for more 'syntax 2' dispinterfaces. 2007-05-18 19:57:46 +02:00
Huw Davies 78bf6946ba oleaut32: GetRefTypeOfImplType(0) on TKIND_DISPATCH typeinfos should always return an href to IDispatch. 2007-05-18 19:57:34 +02:00
Huw Davies 356970e529 oleaut32: Fix return value in the element not found case. 2007-05-18 19:57:25 +02:00
Huw Davies a3b8be05b7 oleaut32: Typelib inheritance tests. 2007-05-18 19:57:18 +02:00
Juan Lang 37386dba7a oleaut32: Don't mix allocation routines. 2007-05-18 14:11:17 +02:00
Huw Davies 9afcaf2ae1 oleaut32: Type references are global to the typelib. 2007-05-17 12:44:44 +02:00
Andrew Talbot 048a5d6fc5 oleaut32: Exclude unused headers. 2007-05-16 11:55:58 +02:00
Bill Medland 804d0139b7 oleaut32/tests: Some boundary tests on VarBstrFromDate. 2007-05-04 13:39:22 +02:00
Huw Davies c4c5d64ccf oleaut32: Remove useless initialization of an [out] parameter. 2007-04-30 12:19:17 +02:00
Huw Davies 294b3ebba1 oleaut32: Rewrite get_funcdesc to avoid using the funcdesc's oVft member so that it works correctly for non-dual dispinterfaces. 2007-04-26 16:42:26 +02:00
Huw Davies b8a50daec7 oleaut32: Don't try to free the typeinfo if get_funcdesc fails. 2007-04-26 16:42:22 +02:00
Andrew Talbot 321c21c5c8 oleaut32: Remove superfluous semicolons. 2007-04-13 12:58:58 +02:00
Francois Gouget 1f692cdcaa oleaut32/tests: Fix compilation on systems that don't support nameless structs or unions. 2007-04-11 12:54:30 +02:00
Rob Shearman 15a1723c1a ole32: In 16-bit OLE, LPOLESTR uses multibyte, not Unicode characters so make LoadTypeLib16 take an LPSTR instead of LPOLESTR. 2007-04-04 21:28:41 +02:00
Jason Edmeades 94b9b6146d oleaut32: Convert to VT_DECIMAL fails with overflow (with test). 2007-04-03 11:32:57 +02:00
Paul Vriens 03d637a305 oleaut32/tests: Use skip. 2007-03-26 12:20:58 +02:00
Andrew Talbot cae5c216a5 oleaut32: Replace inline static with static inline. 2007-03-23 12:29:49 +01: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
Rob Shearman 3ad77d29ca oleaut32: Make the VARIANT_UserUnmarshal tests work on XP. 2007-03-20 12:56:52 +01:00
Rob Shearman 35772a70d3 oleaut32: Add some tests for user marshaling a VT_UNKNOWN variant. 2007-03-20 12:56:45 +01:00
Jan Zerebecki 1e176b4739 oleaut32: Add DebugInfo to critical sections. 2007-03-12 13:39:07 +01:00
Stefan Huehner 51a7ca3440 Change some functions arguments from () -> (void). 2007-03-12 12:25:31 +01:00
Rob Shearman 5edc7fd5ef oleaut32: TKIND_COCLASS parameters to Invoke'd functions should be converted into VT_DISPATCH instead of VT_UNKNOWN.
Add a test for this.
2007-03-08 13:50:45 +01:00
Huw Davies d5664881e5 oleaut32: Fix a TypeAttr leak. 2007-02-21 19:48:33 +01:00
Rob Shearman e79b8b8fcd oleaut32: Re-arrange the position of functions and vtables in olefont.c to avoid forward-declarations. 2007-02-20 20:23:30 +01:00
Rob Shearman 4c40b3974c oleaut32: Fix IFont::AddRefHFont and IFont::ReleaseRefHFont.
The tests show that there is a global cache that keeps references to 
HFONTs that is released when all IFont objects are released.
(Based on a patch by Benjamin Arai.)
2007-02-20 20:23:24 +01:00
Francois Gouget 536e738552 Assorted spelling fixes. 2007-02-14 21:03:57 +01:00
Alexandre Julliard 1df72cc794 Make.rules: Automatically generate the header for all types of idl sources. 2007-02-09 14:32:57 +01:00
Rob Shearman 30b6f9acd6 oleaut32: Fix the return value of ITypeInfo::Invoke when the property-put named argument isn't DISPID_PROPERTYPUT. 2007-02-08 12:59:36 +01:00
Rob Shearman a3235dd1d4 oleaut32: Implement automatic value getting in ITypeInfo::Invoke.
If an IDispatch object is returned from in the retval for a propget 
function and an extra parameter was passed in to ITypeInfo::Invoke then 
it should call IDispatch::Invoke on the returned object with the extra 
parameter to retrieve the value of the object, which is then returned in 
pVarResult.
2007-02-08 12:59:32 +01:00
Rob Shearman 8b43f8bec9 oleaut32: Fix the IDL for the "Value" method in the tmarshal tests. 2007-02-08 12:59:26 +01:00
Rob Shearman d794398e73 oleaut32: Comment out "dual" attribute of IKindaEnumWidget in tmarshal test to cause the interface to be marshaled correctly.
This fixes a bunch of tmarshal tests.
2007-02-08 12:59:23 +01:00
Rob Shearman d2a38cef99 oleaut32: Always register the typelib for the tmarshal tests. 2007-02-08 12:58:35 +01:00
Rob Shearman 7574fede93 oleaut32: Fix a one-off test failure in the tmarshal tests - TYPE_E_LIBNOTREGISTERED is an expected return value. 2007-02-07 21:45:12 +01:00
Rob Shearman 0f45b2badf oleaut32: A value of PARAMFLAG_FNONE for wParamFlags means that the parameter is also marshaled and unmarshaled in the PARAMFLAG_FOUT case. 2007-02-07 21:45:06 +01:00
Rob Shearman e88d033044 oleaut32: Ignore the first named argument when invoking property-put methods
as it is mandatory and doesn't indicate that the arguments will be
passed in as named ones.
2007-02-06 22:06:16 +01:00
Rob Shearman 21140a9a53 oleaut32: Add support for named arguments in ITypeInfo::Invoke. 2007-02-06 22:05:59 +01:00
Rob Shearman 702e2c6dc2 oleaut32: Copy the value directly returned from the called function
if it is not an HRESULT value, instead of getting it from a [retval]
attribute.
2007-02-06 22:05:50 +01:00
Rob Shearman 8f38cd8c8c oleaut32: Fix the missing argument handling for non-byref variant arguments. 2007-02-06 21:36:34 +01:00
Rob Shearman e2108feec4 oleaut32: If an error info object was created when the invoked method failed then fill in exception info from the error info object. 2007-02-06 21:36:13 +01:00
Rob Shearman 30f2b444c6 oleaut32: Add a wrapper around the channel supplied to the IDispatch proxy
to fixup the IID used to connect to the server and fix somewhat common
"err:rpc:RPCRT4_OpenBinding" messages.
2007-02-06 21:32:11 +01:00
Huw Davies a09cd1b88a oleaut32: Call SearchPath before LoadLibrary so that we get the full path of native exes and dlls.
For builtin dlls prepend the system directory.
2007-02-06 20:23:16 +01:00
Huw Davies 2dd3aa6293 oleaut32: Fix marshaling of VARTYPE-less safearrays. 2007-02-05 12:26:14 +01:00
Huw Davies a59e4899f5 oleaut32: The typelib version numbers should be written to the registry in hex. 2007-01-25 11:05:46 +01:00
Paul Vriens 1d6132bed6 oleaut32/tests: Cast-qual warning fixes. 2007-01-24 11:59:15 +01:00
Alexandre Julliard d857d0f767 oleaut32/tests: Fix the FSF address. 2007-01-23 14:01:11 +01:00
Alexandre Julliard aa9dcb4201 oleaut32/tests: Add tmarshal test. 2007-01-23 12:43:53 +01:00
Francois Gouget 7f05a94f50 oleaut32/tests: Fix compilation on systems that don't support nameless structs (e.g. gcc 2.95). 2007-01-23 11:26:39 +01:00
Andrew Talbot d6fc116475 oleaut32: Declare some items static. 2007-01-22 12:08:55 +01:00
James Hawkins c8eb807639 oleaut32: Initialize nrofnames to keep from freeing unused memory in the error case. 2007-01-16 16:54:14 +01:00
Andrew Talbot 26af24c905 oleaut32: Remove unused items. 2007-01-16 11:19:09 +01:00
Alexandre Julliard 25571d8789 oleaut32/tests: Replace some macros by functions to reduce code size and compile time. 2007-01-15 13:01:42 +01:00
Paul Vriens 23bbca535f oleaut32/tests: Cast-qual warnings fixes. 2007-01-12 20:41:10 +01:00
Francois Gouget 3dd1a8b4f1 oleaut32/tests: Replace some '#if 0's with 'if (0)'s. 2007-01-08 12:07:45 +01:00
Francois Gouget ac25a3f93d oleaut32/tests: Fix compilation on systems with no nameless unions (e.g. gcc 2.95). 2007-01-08 12:07:37 +01:00
Bernard Ladenthin 26f29fdad0 oleaut32: Better OleIconToCursor stub. 2007-01-03 12:07:41 +01:00
Alex Villacís Lasso 1c85155eaa oleaut32: Support for VT_DISPATCH in VarImp. 2007-01-03 11:49:16 +01:00
Alex Villacís Lasso e02b224d57 oleaut32: Support for VT_DISPATCH in VarPow. 2007-01-03 11:48:47 +01:00
Alex Villacís Lasso 90844e2067 oleaut32: Support for VT_DISPATCH in VarMod. 2007-01-03 11:48:13 +01:00
Alex Villacís Lasso cdceb02319 oleaut32: Support for VT_DISPATCH in VarIdiv. 2007-01-03 11:44:42 +01:00
Alex Villacís Lasso 5aacee9550 oleaut32: Support for VT_DISPATCH in VarXor. 2007-01-03 11:44:03 +01:00
Alex Villacís Lasso e98a49dee4 oleaut32: Support for VT_DISPATCH in VarOr. 2007-01-03 11:43:29 +01:00
Alex Villacís Lasso a5e3a999ea oleaut32: Support for VT_DISPATCH in VarSub. 2007-01-03 11:42:33 +01:00
Alex Villacís Lasso 67c9b7cbb8 oleaut32: Support for VT_DISPATCH in VarDiv. 2007-01-03 11:41:46 +01:00
Alex Villacís Lasso 01395dec51 oleaut32: Support for VT_DISPATCH in VarMul. 2007-01-03 11:40:11 +01:00
Alex Villacís Lasso 308a0b2e18 oleaut32: Support for VT_DISPATCH in VarAdd. 2007-01-03 11:39:11 +01:00
Alex Villacís Lasso 97d13c552c oleaut32: Support for VT_DISPATCH in VarAnd. 2007-01-03 11:37:31 +01:00
Alex Villacís Lasso 4245cbb31c oleaut32: Add wrapper for dereferencing a VARIANT of type VT_DISPATCH and returning the VARIANT value. 2007-01-03 11:35:37 +01:00
Rob Shearman ecfe54df46 oleaut32: Fix _nroffuncs to return the correct number of functions by taking into account inherited interfaces. 2007-01-02 20:49:01 +01:00
Rob Shearman 72a84fbf06 oleaut32: SafeArrayAllocData should succeed when cbElements is 0. 2006-12-28 12:17:11 +01:00
Alex Villacís Lasso c290f623e0 oleaut32: Fix VarMod(VT_DECIMAL) test by properly initializing the DECIMAL to use.
Fix Wine handling of VT_DECIMAL in VarMod.
2006-12-26 13:25:03 +01:00
Alex Villacís Lasso 8b95d95eb8 oleaut32: Fix tests for redundant headers in OLEPicture load from IStream. 2006-12-24 14:02:44 +01:00
Rob Shearman 029d244ea9 oleaut32: Fix a crash when executing the VarAnd test with an old version of oleaut32.dll. 2006-12-24 13:08:10 +01:00
Rob Shearman 452c127071 oleaut32: Fix the VarPow tests for older versions of oleaut32. 2006-12-24 13:08:06 +01:00
Alex Villacís Lasso 4a4effe3f7 oleaut32: VarBstrFromCy - Remove use of sprintfW by converting a CY
into a DECIMAL instead of a double as an intermediate step.
2006-12-21 11:24:48 +01:00
Alex Villacís Lasso f162ce45ad oleaut32: Bypass conversion to string in R4/R8 -> DECIMAL conversion. 2006-12-19 14:09:44 +01:00
Marcus Meissner f0280cbd1e made functions and variables static in some testcases. 2006-12-11 12:18:29 +01:00
Alexandre Julliard 87fa2e3f91 oleaut32/tests: Use LOCALE_NOUSEROVERRIDE in tests that depend on the decimal separator. 2006-12-07 14:05:45 +01:00
Alexandre Julliard 478ac3724d oleaut32: Use LOCALE_NOUSEROVERRIDE where necessary in variant conversions. 2006-12-07 14:05:25 +01:00
Francois Gouget c66628b73f Consistently use SUBLANG_NEUTRAL for Italian resources. 2006-12-05 11:28:38 +01:00
Francois Gouget bb8e625b5b Assorted spelling fixes. 2006-12-05 10:31:47 +01:00
Charles Blacklock 12e4aa2165 oleaut32: Cleanup of previous VarBstrCmp patch. 2006-12-04 12:38:51 +01:00
Charles Blacklock 2b2ee9c7d1 oleaut32: Add VarBstrCmp binary comparison for LCID==0. 2006-11-30 20:06:37 +01:00
Dmitry Timoshkov 601bf6ea12 oleaut32: Make some data const and static. 2006-11-28 12:36:20 +01:00
Marcus Meissner caa301a736 oleaut32: Protect against integer overflow in SysAllocStringLen. 2006-11-24 12:56:42 +01:00
Francois Gouget b5f104d05b Replace SUBLANG_DEFAULT with the specific SUBLANG_XXX constant for languages that have multiple sublanguages. 2006-11-24 11:49:32 +01:00
Mike McCormack efc8317bb2 oleaut32: Remove incorrect references to malloc. 2006-11-16 12:45:12 +01:00
Dmitry Timoshkov 50a18ca57e shlwapi: Unify SHDeleteKeyW implementation with SHDeleteKeyA. 2006-11-10 13:50:00 +01:00
Dmitry Timoshkov 75dd3534f9 oleaut32: Constify some data. 2006-11-10 13:49:56 +01:00
Mike McCormack 4bd117640d oleaut32: Use HeapAlloc/Free instead of malloc/free. 2006-11-10 11:35:16 +01:00
Alex Villacís Lasso 64410e5907 oleaut32: typelib - fix regression in MSFT typelib parsing. 2006-11-09 10:44:13 +01:00
Michael Stefaniuc 9d625ad0e4 oleaut32: Fix the warnings introduced by the "unsigned long" to "ULONG" header changes. 2006-11-09 10:43:41 +01:00
Michael Stefaniuc cc234847d0 widl: Use ULONG instead of unsigned long when generating declarations for *_UserFree() functions. This is needed for Win64 compatibility. 2006-11-09 10:43:23 +01:00
Michael Stefaniuc 6f95047034 widl: Use ULONG instead of unsigned long when generating declarations for *_UserUnMarshal() functions. This is needed for Win64 compatibility. 2006-11-09 10:43:20 +01:00
Michael Stefaniuc 05b1aac100 widl: Use ULONG instead of unsigned long when generating declarations for *_UserMarshal() functions. This is needed for Win64 compatibility. 2006-11-09 10:43:16 +01:00
Michael Stefaniuc 177aaf6738 widl: Use ULONG instead of unsigned long when generating declarations for *_UserSize() functions. This is needed for Win64 compatibility. 2006-11-09 10:43:12 +01:00
Alex Villacís Lasso 68817c10ee oleaut32: varformat - Force LCID_US for conversion in VarFormatNumber. 2006-11-08 16:37:27 +01:00
Andrew Talbot 501e2dcc99 oleaut32: Cast-qual warnings fix. 2006-11-08 15:51:31 +01:00
Alex Villacís Lasso 3f593aa622 oleaut32: variant - allow conversion of VT_DISPATCH into VT_BSTR in VarCat. 2006-11-08 15:50:55 +01:00
Alex Villacís Lasso a7128fbc4d oleaut32: olepicture - Support multiple redundant headers before picture data. 2006-11-08 15:50:45 +01:00
Francois Gouget 30e44c85c8 Assorted spelling fixes. 2006-11-07 15:25:24 +01:00
Francois Gouget ff64e09605 oleau32: The PSDK's ELEMDESC's union is nameless, always. So use the U(x) macro. 2006-11-07 15:24:43 +01:00
Rob Shearman 7f71545835 oleaut32: Update comments at the top of typelib.c and remove "stub" from several traces that are in implemented functions. 2006-10-27 11:59:50 +02:00
Rob Shearman 47bf80da8c oleaut32: Fix a crash in dump_DispParms when running the typelib test with debug tracing on. 2006-10-24 17:46:56 +02:00
Rob Shearman aa203f0919 oleaut32: Free the array subscript memory for type descriptions when freeing the typelib. 2006-10-24 17:46:49 +02:00
Rob Shearman 2b65782d1e oleaut32: Fix a reference count leak in the typelib test. 2006-10-24 17:46:39 +02:00
Rob Shearman a26af4861d oleaut32: Fix a reference count leak in CreateDispTypeInfo. 2006-10-24 17:46:34 +02:00
Rob Shearman d72ef78fa6 oleaut32: Initialise all members of the FUNCDESC structure in CreateDispTypeInfo. 2006-10-24 17:46:27 +02:00
Mikołaj Zalewski 58bd35c8c5 resources: Change Dutch sublanguage code to SUBLANG_NEUTRAL. 2006-10-24 17:45:51 +02:00
Mikołaj Zalewski e32aa55703 resources: Change German sublanguage code to SUBLANG_NEUTRAL. 2006-10-24 11:45:12 +02:00
Rob Shearman 053f69aced oleaut32: Fix a missing ITypeInfo::ReleaseTypeAttr in the typelib marshaling code. 2006-10-23 15:19:13 +02:00
Rob Shearman 053b6b21b6 oleaut32: Fix two more leaks on type info destruction. 2006-10-23 15:19:02 +02:00
Rob Shearman b5c78d0dff oleaut32: Rewrite MSFT_ReadName and MSFT_ReadString to need one less allocation and to fix a memory leak. 2006-10-23 15:18:56 +02:00
Rob Shearman b3d024a7bb oleaut32: Free allocated memory on typelib and typeinfo destruction. 2006-10-23 15:18:38 +02:00
Rob Shearman d1b15c8ed7 oleaut32: Fix some reference count and memory leaks in the typelib marshaling code. 2006-10-23 15:18:17 +02:00
Rob Shearman 0fa33bb69b oleaut32: Fix memory leaks after calling ITypeInfo::GetNames. 2006-10-23 15:18:08 +02:00
Dmitry Timoshkov 20c40e0659 oleaut32: Make QueryPathOfRegTypeLib test pass under Wine. 2006-10-23 15:16:55 +02:00
Dmitry Timoshkov a1914dbbb8 oleaut32: Add a test for QueryPathOfRegTypeLib. 2006-10-23 15:16:28 +02:00
Francois Gouget 1f67fa0acf Add '\n's to Wine traces. 2006-10-20 14:10:34 +02:00
Byeong-Sik Jeon e1fd734c97 Korean: Use SUBLANG_NEUTRAL in Korean resources. 2006-10-20 13:49:39 +02:00
Francois Gouget ef998ea6cb Assorted spelling fixes. 2006-10-16 11:33:38 +02:00
Michael Stefaniuc 15765dd953 The Data1 member of the GUID struct needs to be an unsigned int too for Win64 compatibility. 2006-10-16 10:53:04 +02:00
Hans Leidekker ce66f5d684 oleaut32: Win64 printf format warning fixes. 2006-10-13 12:08:47 +02:00
Hans Leidekker 279207b258 oleaut32/tests: Win64 printf format warning fixes. 2006-10-12 20:41:09 +02:00
Michael Stefaniuc 173f7bd26c janitorial: Remove remaining NULL checks before free() (found by Smatch). 2006-10-10 12:56:24 +02:00
Huw Davies 03ec218326 oleaut32: Implement ITypeInfo_CreateInstance. 2006-10-09 20:38:41 +02:00