Commit Graph

788 Commits

Author SHA1 Message Date
Robert Shearman fa49c971f1 oleaut32: Initialize member IDs to MEMBERID_NIL inITypeInfo::GetIDsOfNames.
Better tracing.
2005-12-26 13:03:27 +01:00
Robert Shearman 088fc70ede ole: Improve typelib traces.
Move the debug channel check from dump_TLBFuncDesc[One] to its callers
for more flexibility in which channel controls the output.
2005-12-26 13:02:47 +01:00
Robert Shearman 9f1c6bf6bc OLE: Fix SafeArrayCopy for NULL pvData.
It is allowed to copy a SAFEARRAY with a NULL pvData, as long as
cbElements is non-zero. Add a test for this and fix the safe array
code.
2005-12-12 11:52:51 +01:00
Robert Shearman 69aa9f9d2e OLE: Add const to several typelib functions.
Add const attributes to parameters for several functions and fix up
some formatting.
2005-12-12 11:52:23 +01:00
Robert Shearman e7299cdf47 OleTranslateColor trace fix.
OleTranslateColor isn't a stub so don't print ":stub" in the trace
message.
2005-12-12 11:52:02 +01:00
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
Huw Davies c0cd7dc6fa Implement GetContainingTypelib_{Proxy,Stub}. 2005-10-18 14:09:58 +00:00
Huw Davies 284687a621 When a dispinterface isn't dual, we should return
TYPE_E_ELEMENTNOTFOUND when trying to get index -1.
2005-10-18 14:09:47 +00:00
Alexandre Julliard 7e22be4d84 We are no longer generating .dbg.c files. 2005-09-29 10:35:58 +00:00
Francois Gouget 335fce9ce0 Fix .spec declarations for functinos with 64bit arguments (reported by
winapi_check).
2005-09-26 09:56:40 +00:00
Francois Gouget 10f72c719b Add trailing '\n's to ok() calls. 2005-09-26 09:52:25 +00:00
Alex Villacís Lasso 680bf12aec Fix a scaling error in VarR4FromDec() and VarR8FromDec() that
incorrectly multiplies the high 32 bits of the DECIMAL by 1e64 instead
of the correct 2^64.
2005-09-22 10:49:01 +00:00
Alexandre Julliard 0ec0f048e6 Removed unused debug channels. 2005-09-22 10:44:40 +00:00
Alex Villacís Lasso 253f3bf5be Modify VarDiv() and VarSub() to use the existing VarDecSub() and
VarDecDiv() for DECIMAL.
2005-09-22 10:35:16 +00:00
Alexandre Julliard 9f1c6de1ef We are no longer generating .spec.c files. 2005-09-21 14:42:52 +00:00
Mike McCormack c818a4e662 Fix "empty body in an if/else-statement" warnings. 2005-09-21 09:46:28 +00:00
Milko Krachounov 980f817737 Bulgarian resources for mpr, msi, user, commdlg, oleaut32, shdocvw,
shell32, comctl32, msrle32, mshtml, winspool, wineps, serialui,
setupapi, wininet, regedit, uninstaller, notepad, winecfg and
winhelp.
2005-09-19 17:00:58 +00:00
Marcus Meissner 43e73ebba2 Support more arguments in _invoke(). 2005-09-19 14:29:41 +00:00
Robert Shearman b3a4b59668 Fix ref-counting rules to match native DCOM Dlls. 2005-09-18 11:10:37 +00:00
Alexandre Julliard 7c1925a0f3 Remove the 'L' suffix on a number of constants to avoid comparison
errors on 64-bit platforms.
2005-09-13 15:00:32 +00:00
Walt Ogburn d765cb960f Get IFontDisp type information from stdole2.tlb, instead of IDispatch
information from stdole32.tlb.
2005-09-13 10:36:54 +00:00
Marcus Meissner bd7ec9aca5 The last argument to MultiByteToWideChar is wide character count and
not the buffer size in bytes. Fixed all places where it was wrong.
2005-09-12 22:07:53 +00:00
Alexandre Julliard e1646dd215 Use MAKEINTRESOURCE instead of casts where appropriate. 2005-09-12 20:29:16 +00:00
Alexandre Julliard 4c34d9386c Specify 64-bit integers as double instead of long long in spec files
so that we get the correct number of arguments.
2005-09-09 15:05:01 +00:00
Alex Villacís Lasso 10f0ace4a2 Make Single|Double->BSTR conversion use the specified locale for the
decimal point even without the LOCALE_USE_NLS flag. Test supplied.
2005-09-09 15:01:17 +00:00
Alexandre Julliard 20a1a203c6 Use a more portable scheme for storing the name of a critical
section.
2005-09-09 10:19:44 +00:00
Marcus Meissner 6f823db58b VT_PTR->VT_USERDEFINED chains depend on the TKIND of the userdefined
type due to our handling of COM interfaces in there.
2005-09-07 09:23:04 +00:00
Robert Shearman f6daf49061 Add VT_UNKNOWN support for VARIANT marshaling by generalising the
existing VT_DISPATCH code.
2005-09-02 11:18:57 +00:00
Robert Shearman 44d6e39c8b Make typelib marshaler use IRpcChannelBuffer::GetBuffer if possible. 2005-08-29 21:46:51 +00:00
Robert Shearman 80c31a9cb1 - Shunt some trace statements over to the typelib channel that aren't
really much use except in debugging typelib parsing.
- Make sure to release a reference to being returned as VariantCopyInd
  takes one for us.
2005-08-29 21:46:34 +00:00
Alexandre Julliard cc4da88563 Explicitly import kernel32 in tests that use it. 2005-08-27 09:27:09 +00:00
Mike McCormack 93ab695a5c Fix gcc 4.0 warnings. 2005-08-26 08:53:31 +00:00
Robert Shearman 4519b1bd1d - Remove redundant QueryInterface in marshal_interface - the object is
always queried later on for the correct interface of the object.
- Make sure to Release the marshaled pointer in the typelib marshaler
  once it is no longer required.
2005-08-24 09:44:41 +00:00
Michael Stefaniuc fc663043d3 Implement IPicture::get_hPal for PICTYPE_BITMAP. 2005-08-24 09:44:25 +00:00
Michael Stefaniuc 4d36546c07 - VarAdd, VarMul: I4 overflows to R8 and not I8 even if the result
would fit in I8. Fix tests.
- Document a brokeness in the handling of I8 numbers in
  VarNumFromParseNum. Fix tests.
2005-08-23 09:33:37 +00:00
Walt Ogburn 9473bcbb93 Add tests for olefont size functions & conversions. 2005-08-22 09:22:52 +00:00
Walt Ogburn 2bcc1c07a9 When applying logical / himetric ratio to olefont sizes, must divide
by the standard ratio 72 / 2540.
2005-08-22 09:22:43 +00:00
Vincent Béron 7160af007c Uniformize DllMain TRACEing across dlls. 2005-08-15 10:48:51 +00:00
Francois Gouget 0de0d11357 Change some Dll* functions so they are exported by name like on
Windows.
Update the documentation accordingly.
2005-08-10 13:02:43 +00:00
Alexandre Julliard b8d0f4cd10 Get rid of the almost empty tmarshal.h file. 2005-08-09 10:38:54 +00:00
Alexandre Julliard 095fb5b061 Moved a number of definitions that are not needed in other files into
vartype.c
2005-08-09 10:34:21 +00:00
Mike McCormack a04b77ddc2 gcc 4.0 warning fixes. 2005-08-08 18:38:29 +00:00
Saulius Krasuckas 7782e72322 Comment out VarDateFromStr() calls that generate exceptions on WinME. 2005-08-08 17:58:14 +00:00
Alexandre Julliard 66868e532b Removed some unnecessary macros, and make some functions static. 2005-08-08 15:08:22 +00:00
Robert Shearman a30b6a91a1 Revert to previous behaviour of detecting names with non-alphanumeric
characters as ones with offsets, but add in a special case for an
empty name.
2005-08-08 11:04:20 +00:00
Mike McCormack 50a6d970f5 gcc 4.0 warning fixes for Interlocked* functions. 2005-08-03 11:03:05 +00:00
Robert Shearman 6b3b110d31 - A name in an SLTG typelib only beginning with 0xff is the indicator
of an offset, instead of any non alpha-numeric character.
- Any dispatch interface should have the fixed vtable size, not just
  dual ones.
- Warn when ITypeInfo_GetDocumentation fails.
2005-07-28 10:14:37 +00:00
Alexandre Julliard 738e88db5f Replace the ICOM_THIS_From macros by inline functions. 2005-07-27 15:14:18 +00:00
Alexandre Julliard dac19768fa Get rid of cursoricon.h. 2005-07-20 10:31:37 +00:00
Robert Shearman 8b8c901a78 - Fix VT_BYREF|VT_UNKNOWN return values by comparing the correct value
with VT_UNKNOWN and VT_DISPATCH.
- Better tracing.
2005-07-19 20:02:38 +00:00
Robert Shearman 5550636044 Return DISP_E_EXCEPTION from ITypeInfo_Invoke on an error in the
called function.
2005-07-19 20:00:37 +00:00