Commit Graph

746 Commits

Author SHA1 Message Date
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
Robert Shearman 6bfae1a1b7 - IRpcStubBuffer_Disconnect can be called multiple times.
- Release TypeLib when freeing stub buffer.
2005-07-19 20:00:07 +00:00
Robert Shearman f29a1315ec Activate ITypeLib, ITypeInfo and IEnumVARIANT Marshalers. 2005-07-19 19:43:54 +00:00
Robert Shearman 0648ab6131 Remove RegisterTypeLib hack. 2005-07-19 19:43:37 +00:00
Robert Shearman d8780c7546 Fix confusion between number of characters and number of bytes in
unmarshaling BSTRs. Convert it all to characters for consistency with
the BSTR_User* routines.
2005-07-19 19:42:50 +00:00
Robert Shearman 500c41b75e Support VT_BYREF|VT_I4 in _copy_arg. 2005-07-19 19:13:45 +00:00
Robert Shearman d2e2e851da Marshal and unmarshal TKIND_ENUM and TKIND_ALIAS. 2005-07-19 19:13:23 +00:00
Alex Villacís Lasso 43076139c3 Fix GIF palette allocation, by relying on ColorCount instead of
SColorResolution.
2005-07-19 11:38:25 +00:00
Alex Villacís Lasso 3153aa9131 Ensure that underflowing negative float is represented as a positive
0, just as native oleaut32.
2005-07-19 11:38:12 +00:00
Alex Villacís Lasso 324267c4a9 Test for behavior of negative underflow formatting. 2005-07-18 10:33:12 +00:00
Mike McCormack fc200d0ca7 Interlocked LONG* gcc warning fixes. 2005-07-11 10:25:19 +00:00
Mike McCormack d7b9a23afd gcc 4.0 -Wpointer-sign fixes (Reg* functions). 2005-07-06 19:08:05 +00:00
Francois Gouget c7dcf642ea Add trailing '\n's to ok() calls. 2005-07-06 15:46:47 +00:00
Stefan Huehner 17ed5537e7 Fix some more -Wmissing-declarations warnings. 2005-07-05 11:05:50 +00:00
Robert Shearman 27407fad35 Document active object and variant functions. 2005-07-05 11:02:19 +00:00
Robert Shearman 545aefa18f Rename OLEAUT32_Dll* Functions to Dll*. 2005-06-29 20:16:41 +00:00
Robert Shearman cbc3af8ca5 - Conversions between variants types of the same size should ignore
overflows.
- Tests for this behaviour.
2005-06-29 20:15:32 +00:00
Robert Shearman fb42af123b Add a generic TYPEDESC VT to VARIANT VT mapper so we can use the
standard Variant* routines. Use this new function to properly copy &
de-reference the return value.
2005-06-29 20:15:00 +00:00
Huw Davies fe311461a7 Cope with the index in a import table entry being a typeinfo index
rather than a guid offset.
2005-06-29 19:18:25 +00:00
Huw Davies a2c58e238f Add comments describing the first DWORD in an import table entry. 2005-06-28 13:52:23 +00:00
Michael Stefaniuc 8e81d45732 - VarCmp: handle comparision of VT_EMPTY with an integer
- small comment fix
2005-06-28 10:54:07 +00:00
Stefan Huehner ffe53258aa Fix some -Wstrict-prototypes warnings. 2005-06-27 09:57:28 +00:00
Michael Stefaniuc 0b1f8cdf4d - more VarFormat fixes for number formats (exponent, mixed '#' and '0'
in formats, rounding, etc). Simplify the code.
- previous VarFormat todo_wine tests pass now + add more tests
2005-06-23 09:48:07 +00:00
Stefan Huehner 863a4b1488 Fix some more -Wstrict-prototypes warnings. 2005-06-21 20:53:13 +00:00
Stefan Huehner ac6f562b52 Fix more -Wstrict-prototypes warnings. 2005-06-20 14:18:03 +00:00
Francois Gouget 6394a15314 Assorted spelling fixes. 2005-06-17 20:59:49 +00:00
Stefan Huehner 03cc8c4181 Remove some -Wstrict-prototypes warnings. 2005-06-17 10:11:37 +00:00
Mike McCormack 65ad7da1f7 Fix some declaration and write string warnings. 2005-06-16 10:45:25 +00:00
Saulius Krasuckas 8272074b85 Change (long long) to (LONGLONG) to compile with MSVC. 2005-06-14 12:25:29 +00:00
Michael Stefaniuc b9208137c1 - Fix VarFormat for formats that mix '0' and '#' in the whole number
part.
- Fix VarFormat for negative exponent formats.
- Add tests for the above + a couple of "todo_wine"'s.
2005-06-14 11:39:32 +00:00
Alexandre Julliard c2d5b444b3 Moved the NONAMELESSUNION/STRUCT macros to wine/test.h so that they
can be used in all the test.
2005-06-13 12:10:54 +00:00
Marcus Meissner 970ae8d0ba Corrected string length method in ITypeLib::IsName() and FindName()
for LPOLESTR type.
2005-06-13 09:59:55 +00:00
Robert Shearman 1a76541733 - Don't print out cryptic message if IDispatch or IUnknown object is
just NULL.
- puArgErr is a ref pointer so we have to provide a dummy pointer if
  it is NULL.
- Fail gracefully and notify caller if we ran out of memoy or if
  variant copying failed.
2005-06-12 10:42:36 +00:00
Robert Shearman 3fe5a1eb62 Clear out parameters to stop bad pointers lying around in memory if
the function doesn't set them to anything.
2005-06-10 19:31:45 +00:00
Robert Shearman 1329f87d46 - The typelib marshaler should only free the memory it actually allocated.
- Add special cases for two lesser used types that aren't
  sizeof(DWORD) sized.
2005-06-09 09:43:38 +00:00
Michael Stefaniuc 3b37099451 - implement handling of exponents (e+,e-,E+,E-) when parsing number
formats
- fix a small cut'n'paste error in the comments
2005-06-08 18:32:52 +00:00
Marcus Meissner 4dd845ed53 Fixed IType::Invoke in regards to handling propertyget variables
longer than 4 bytes (like VT_DATE).
2005-06-08 18:32:09 +00:00
Dmitry Timoshkov eba47f1dfe Make remaining OLE interface vtables const. 2005-06-06 19:50:35 +00:00
Marcus Meissner c834e6a96f Added testcases for OLE Picture handling.
Implemented PICTYPE_NONE loading.
Cleaned up stream loading, handle "lt" magic.
Fixed some small problems exposed by tests against native.
2005-06-06 10:03:58 +00:00
Jacek Caban f863bb59f9 Test only stdole32.tlb as we don't have olepro32.dll in Wine. 2005-06-05 18:04:54 +00:00
Robert Shearman c6296c418f If we are accessing a method from a superclass then we need to use the
superclass's ITypeInfo otherwise we could get errors when accessing
hreftypes that aren't present in the subclass.
2005-06-01 11:03:40 +00:00
Robert Shearman 9ddf17bfa7 - Fix the return values from QueryPathOfRegTypeLib.
- Open registry key with least access rights necessary.
- Documentation updates.
2005-06-01 11:03:29 +00:00
Robert Shearman 61d862540b DispInvoke is correct so there is no need to print a fixme. 2005-06-01 11:03:05 +00:00