Commit Graph

713 Commits

Author SHA1 Message Date
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
Marcus Meissner e2511e195e Added VarMonthName() implementation. 2005-05-29 20:17:30 +00:00
Michael Stefaniuc 485d140b36 Tests for VarAdd. 2005-05-29 20:00:50 +00:00
Michael Stefaniuc 948dd66603 - Reimplement VarAdd, had missing functionality and wrong behaviour.
- Fix a typo in VarMul.
2005-05-29 20:00:31 +00:00
Michael Stefaniuc d0dbae3b18 Tests for VarMul(). 2005-05-23 11:46:36 +00:00
Michael Stefaniuc 0f64aaa807 Reimplement VarMul(). It can multiply now all variants that the native
(WinXP) function supports too.
2005-05-23 11:46:17 +00:00
Richard Cohen 97bc8f6dc7 - Remove unused macro.
- Check for VT_I8 before testing it.
- VarMod returns DISP_E_OVERFLOW not E_INVALIDARG.
2005-05-23 10:26:32 +00:00
Michael Stefaniuc 28faa92c7f Fix VariantChangeType: calls to VarDecFromCy and VarDecFromDisp had
source and destination swapped.
2005-05-23 09:50:50 +00:00
Richard Cohen 25ab9f2c0f Check if VT_R8 and VT_INT_PTR are supported before testing them. 2005-05-20 19:00:02 +00:00
Pierre d'Herbemont 342da59b0c Remove stdlib.h inclusion if winsock.h is included. 2005-05-18 15:33:20 +00:00
Robert Shearman 5ef4748c7c Use I_RpcGetBuffer instead of HeapReAlloc for getting the Buffer
memory.
2005-05-11 15:56:59 +00:00
Alexandre Julliard 34fa35dc99 Added rules for building import libraries in the individual dll
makefiles, and added support for building a .def.a static import
library too.
2005-05-09 14:42:30 +00:00
Alexandre Julliard d62356aa1e Added rules to build import libraries in the individual dll makefiles.
Generate import libraries with the right name right away instead of
using an intermediate .spec.def file.
2005-05-07 12:39:52 +00:00
Vincent Béron 0fa5e855fb Use SUBLANG_NEUTRAL for French resources. 2005-05-04 09:52:47 +00:00
Alex Villacís Lasso 4376140a4f - Fix leftover negative sign in height parameter for transparent
bitmap.
- Properly announce whether bitmap is transparent in get_Attributes.
- GIF transparency is now palette-index based, instead of RGB based.
- Keep original bitmap and XOR mask separate, so that get_Handle
  returns original bitmap.
2005-04-22 19:05:05 +00:00
Daniel Remenak d46cc36347 Remove unused variable in _copy_arg. 2005-04-14 11:32:10 +00:00
Alex Villacís Lasso 61761e2278 - Fix leftover negative sign in height parameter for transparent
bitmap.
- Properly announce whether bitmap is transparent in get_Attributes.
- GIF transparency is now palette-index based, instead of RGB based.
- Keep original bitmap and XOR mask separate, so that get_Handle
  returns original bitmap.
2005-04-13 15:18:02 +00:00
Daniel Remenak 4d7e99df93 Implemented VarIdiv. 2005-04-13 10:59:25 +00:00
Daniel Remenak 292b61f550 Return DISP_E_DIVBYZERO instead of crashing when asked to divide a
variant by zero.
2005-04-12 10:15:56 +00:00
Francois Gouget 6b10c324c5 Assorted spelling fixes. 2005-03-30 17:08:31 +00:00
Alex Villacís Lasso 7bfc29028a Initialize [orig|himetric][Width|Height] for PICTYPE_ICON case. 2005-03-30 10:21:30 +00:00
Alex Villacís Lasso 2612f61fff Fix failure to notice the use of a GIF palette index greater or equal
to 128 for transparency.
2005-03-29 18:57:15 +00:00
Marcus Meissner 41079866f7 Serialize NULL pointer interfaces correctly. 2005-03-29 13:06:44 +00:00
Marcus Meissner 4b5f3c61ad Fixed VT_BSTR|VT_BYREF marshalling.
Added VT_I4|VT_BYREF marshalling.
2005-03-29 11:29:11 +00:00
Marcus Meissner 89feaca290 Fixed ppvObject serializer (deref twice instead of once).
Actually pass back return value of remote call in type marshaller.
2005-03-28 10:00:49 +00:00
Mike Hearn edcbd13665 Fix BSTR tracing in the typelib marshaller. 2005-03-27 18:20:10 +00:00
Marcus Meissner c91df67f11 Format VT_UI1, VT_I1, VT_UI2, VT_I2 correctly. 2005-03-27 18:17:19 +00:00
Marcus Meissner e6260a3625 Added IDispatch::GetIDsOfNames() special case serializing.
Handle VT_PTR / NULL marshalling correctly.
2005-03-27 17:51:59 +00:00
Mike Hearn 9b79651579 Fix PARAMFLAG_FOUT typo in the tmarshaller. 2005-03-25 16:38:37 +00:00
Jakob Eriksson 9ed61de9a2 Get rid of HeapAlloc casts. 2005-03-24 21:01:35 +00:00
Alex Villacís Lasso 2dd3288c43 After Float->string conversion via sprintfW(), VarDecFromR[4|8] is
forced to use US locale for string->Decimal conversion, to agree with
sprintfW().
2005-03-24 19:03:14 +00:00
Francois Gouget 93416cdaf7 Assorted spelling fixes. 2005-03-23 13:15:18 +00:00
Jacek Caban 7ff344e20f Fixed vartype test. 2005-03-18 14:02:12 +00:00
Alexandre Julliard 232760ded0 Authors: Mike Hearn <mh@codeweavers.com>, Robert Shearman <rob@codeweavers.com>
- Implement VT_BYREF | VT_BSTR marshalling.
- Add more integer types for marshaling and unmarshaling.
- Implement VT_BYREF | VT_BSTR unmarshaling.
- Don't allocate memory for TKIND_DISPATCH/TKIND_INTERFACE
  unmarshaling as it will be lost in the success case and interferes
  with the failure case.
2005-03-14 10:09:11 +00:00