Commit Graph

733 Commits

Author SHA1 Message Date
Robert Shearman a056a9a89c OLE: Implement undocumented behaviour in DispCallFunc.
Fix DispCallFunc to work with MSDN-undocumented behaviour used by
Office 2003 and document the function.
2005-12-06 21:25:51 +01:00
Robert Shearman 1f68feeef1 OLE: Implement ITypeInfo_AddressOfMember. 2005-12-06 21:24:45 +01:00
Robert Shearman b0d8e06caf OLE: Fix brokenness in typelib marshaller caused by dispinterface retval fix.
Fix more fallout from dispinterface retval patch: make typelib
marshaler use the internal function description so that it calls
dispinterface functions with the correct number of parameters again.
Also fixes some memory leaks caused by the fact that a corresponding
ReleaseXDesc function has to be called for each GetXDesc.
2005-12-06 21:24:19 +01:00
Robert Shearman 36f112973e OLE: Add tests for the typelib version of ITypeComp_Bind. 2005-12-06 21:23:19 +01:00
Robert Shearman 806cdce355 OLE: Update the type of the oVft parameter for DispCallFunc. 2005-12-06 21:23:09 +01:00
Robert Shearman 3dd7ba394c OLE: ITypeInfo_Invoke parameter naming change.
Rename the dwFlags parameter of ITypeInfo_Invoke since it is not a
DWORD, but an unsigned short.
2005-12-06 10:57:45 +01:00
Michael Stefaniuc 8ec3906768 Fix VarBstrCmp for NULL input BSTRs (MSDN is wrong). 2005-12-05 12:00:24 +01:00
Robert Shearman 190d05f4db OLE: Support HREFTYPEs For ITypeInfos
Add support for reading the hreftype of a typeinfo, return it to the
application in ITypeComp_Bind for the DESKIND_APPOBJECT case and
support referencing it in ITypeInfo_GetRefTypeInfo.
2005-12-03 18:20:27 +01:00
Robert Shearman d8d1693def OLE: fix function name loading
Correctly get the name of the second function of a propget/propput
pair in MSFT typelibs when the name offset is set to -1.
2005-12-03 18:20:03 +01:00
Robert Shearman bd8fefd66b OLE: fix invoking dispinterface functions
Fix invoking dispinterface functions by using the internal
representation of the function, not the one returned to applications.
2005-12-03 18:19:17 +01:00
Robert Shearman d48f6f3682 OLE: Move the dispinterface return value handling to functions that
return the FUNCDESC to the user.
2005-12-03 18:10:30 +01:00
Robert Shearman a61e4e802c OLE: fix handling of INVOKE_PROPERTYGET flag in ITypeComp_fnBind.
The INVOKE_PROPERTYGET flag shouldn't affect binding to variables; it
should just affect which of a pair of [propget] and [propput]
functions should be returned.
2005-12-03 18:03:29 +01:00
Robert Shearman cc9052c38e Make dump functions const. 2005-12-01 12:55:31 +01:00
Robert Shearman 695556af16 Remove broken return value handling code and that would reference
memory beyond the end of the arguments array. Replace it with code
that properly handles referencing the return type and setting the
return type to VT_VOID when a dispinterface function doesn't have any
return value.
2005-12-01 12:48:56 +01:00
Robert Shearman 960aadaceb Introduce a variable "elemdesc" to eliminate some long common
expressions.
Move the contents of the second arguments loop inside the first.
Move the MSFT_ReadLEDWords so that it is the last statement in the
loop since it is one of the iterators.
2005-12-01 12:34:39 +01:00
Robert Shearman 48e1a72a23 Don't truncate large integer constants. 2005-12-01 11:37:11 +01:00
Robert Shearman 55ffe637db The pparamdescex of an ELEMDESC should only be copied if wParamFlags &
PARAMFLAG_DHASDEFAULT.
Make ITypeInfo_ReleaseVarDesc use TLB_FreeElemDesc.
2005-12-01 11:12:07 +01:00
Robert Shearman 6e2804e19a Factor out code for doing ELEMDESC sizes and copies.
Copy FUNCDESC structures returned to calling applications instead of
passing a pointer to the master structure used internally.
Call VariantInit on newly allocated memory before calling VariantCopy.
2005-11-30 12:01:33 +01:00
Robert Shearman f0a600a162 Implement ITypeInfo_Bind for typelibs.
Fix some places where a returned object was AddRef'd.
Make the search through implemented types work on all types, not just
interfaces.
2005-11-29 11:25:24 +01:00
Robert Shearman 25bfb811a3 Add functions for doing a deep copy of a TYPEDESC into a flat buffer.
Copy VARDESC structures returned to calling applications instead of
passing a pointer to the master structure used internally.
2005-11-29 10:42:22 +01:00
Alexandre Julliard 0ec7e1a591 Renamed all .cvsignore files to .gitignore. 2005-11-26 13:10:33 +01:00
YunSong Hwang 58d6722e7a Add Korean translations. 2005-11-11 10:55:09 +00:00
Francois Gouget 0edbaf7e80 Remove spaces before '\n' in traces. 2005-11-10 12:14:56 +00:00
Francois Gouget f4c0524ec6 Assorted spelling and case fixes. 2005-11-10 11:39:07 +00:00
Robert Shearman 7dc54af325 - Cleanup formating of DispCallFunc.
- Fix DispCallFunc for functions with return values.
- Don't rely on _copy_arg as it is going away soon.
2005-11-09 10:31:20 +00:00
Marcus Meissner c49f5f0095 Added support of loading of IPicture data from non-statable
IStreams. Added testcases for this.
2005-11-07 11:09:10 +00:00
Marcus Meissner 7e08a24f83 Fixed FMT_DATE_GENERAL and FMT_DATE_TIME_SYS cases in
VARIANT_FormatDate.
2005-11-05 10:42:09 +00:00
Marcus Meissner 2045ed2299 Added support for VT_I8/VT_UI8 marshalling. 2005-11-04 11:13:55 +00:00
Robert Shearman 3a0a31843e Add a test for Invoking an OleFont function. 2005-11-04 11:13:08 +00:00
Uwe Bonnes 87df07452a Extend VarCmp() and add test cases. 2005-11-03 13:21:11 +00:00
Huw Davies 753e4ee9bd Don't call Release on a null ptr. 2005-11-02 20:54:34 +00:00
Robert Shearman 4381c62560 Fix a crash during +variant logging caused by a typo causing an array
to be one element less than expected.
2005-11-02 20:03:01 +00:00
Robert Shearman efe606fddb - Make sure to clean up properly on error.
- Restrict the critical section to getting the channel buffer and
  adding a reference to it.
2005-11-02 20:00:00 +00:00
Robert Shearman 1acbdd9d2a - Make wParamFlags in the paramdesc dumping function human readable.
- Enums should be VT_I4 instead of VT_INT.
- Trace the return value from the ITypeInfo_fnInvoke.
2005-11-02 19:59:13 +00:00
Robert Shearman ebb839733a The PSDispatch PS class factory can manage both typelib marshalled and
IDispatch, which is NDR marshalled, so we need a wrapper to call the
appropriate CreateProxy or CreateStub function.
2005-11-02 10:54:52 +00:00
Marcus Meissner d6e45770b5 SysReAllocString of same pointer returns TRUE. 2005-11-01 18:06:41 +00:00
Huw Davies 0fb5729693 Deal with pExcepInfo == NULL. 2005-10-31 15:43:53 +00:00
Robert Shearman 0033a5a8e7 - Read DLL name from modules in MSFT typelibs.
- A name offset of -1 for a parameter means that it has the same name
  as the function.
- Print an error if a ReadName is attempted with an offset of -1,
  since this will read garbage.
- Implement ITypeInfo_GetDllEntry.
2005-10-29 10:30:57 +00:00
Michael Stefaniuc 8ecefe9e93 Handle VT_DECIMAL in VarCmp(). 2005-10-28 10:08:31 +00:00
Alex Villacís Lasso c1d07134b8 Add tests for functionality implemented or corrected: multiplication,
division, cast to double, cast to string.
2005-10-27 12:09:40 +00:00
Robert Shearman 69562b0edf There is no need to call IUnknown_QueryInterface since getting the
correct object is handled by the proxy manager.
2005-10-27 12:08:58 +00:00
Robert Shearman 3c2bda8f83 Add IFontEventsDisp and IProvideMultipleClassInfo. 2005-10-27 10:19:54 +00:00
Alex Villacís Lasso 69b5f808a7 Implement complete VarDecDiv() for any valid DECIMAL. 2005-10-26 13:53:21 +00:00
Huw Davies 0c6d54631f Treat paramflags == 0 like PARAMFLAG_FIN. 2005-10-26 12:06:49 +00:00
Alex Villacís Lasso fa49ffcb61 Implement complete VarDecMul() for any valid DECIMAL. 2005-10-26 12:06:41 +00:00
Michael Stefaniuc c64abfa374 Handle VT_CY in VarDiv(). 2005-10-26 12:05:39 +00:00
Robert Shearman 5c2a708d51 - Forward IDispatch functions to the MIDL-generated proxy.
- Remove special cases caused by previous marshaling of IDispatch &
  IUnknown that is no longer done.
- Add error messages if an IUnknown or IDispatch method is called when
  it no longer should be.
2005-10-26 10:12:30 +00:00
Alex Villacís Lasso 00187fab29 Implement complete VarBstrFromDec() for any valid DECIMAL, with
internationalization support borrowed from VARIANT_BstrFromReal(). The
decimal fix for VARIANT_BstrFromReal was encapsulated in a separate
function and reused.
2005-10-26 10:12:20 +00:00
Huw Davies f630f97842 Proxies and stubs for GetTypeInfoCont, GetLibAttr and ReleaseLibAttr. 2005-10-20 11:35:30 +00:00
Pierre d'Herbemont f26e8090c2 Allow compilation on non-i386. 2005-10-19 19:06:49 +00:00