Commit Graph

760 Commits

Author SHA1 Message Date
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
Robert Shearman ac23f2c810 Add outer unknown support for typelib marshaler. 2005-03-11 10:18:31 +00:00
Jacek Caban cf8b29f7e0 More implementation of IRecordInfo. 2005-03-09 11:43:55 +00:00
Jacek Caban 0f9c43d8a5 - Implemented GetRecordInfoFromTypeInfo and GetRecordInfoFromGuid.
- Beginnig implementation of IRecordInfo.
2005-03-07 19:22:48 +00:00
Maxime Bellengé 901bdbf2d1 Implements OleLoadPicturePath. 2005-03-04 12:30:26 +00:00
Francois Gouget fbb3343547 Assorted spelling fixes. 2005-03-02 13:53:50 +00:00
Jon Griffiths eb5bf7dd38 Documentation spelling fixes. 2005-02-25 14:07:56 +00:00
Huw Davies beea69c820 The typelib cache should take the typelib resource index into
account.
2005-02-22 19:30:16 +00:00
Jon Griffiths 743fb99a9f Use variant macros instead of accessing the union directly. 2005-02-22 14:54:01 +00:00
Vincent Béron 06d7cae4d7 Add a stub for OleLoadPicturePath(). 2005-02-21 18:36:06 +00:00
Mike Hearn 80380eaa32 Allow loading of builtin typelibs. 2005-02-21 18:34:41 +00:00
Alex Villacís Lasso c2292eefb5 Implement OleFontImpl_QueryTextMetrics. 2005-02-18 12:51:23 +00:00
Alex Villacís Lasso 18bfe6a095 Change SUBLANG_DEFAULT to SUBLANG_NEUTRAL for LANG_SPANISH in all
resources, so that Spanish locales other than Spain also use Spanish
resources.
2005-02-16 21:10:59 +00:00
Marcelo Duarte 574c0edabb Update the resources for Portuguese. 2005-02-14 11:12:30 +00:00
Marcus Meissner a34c23498f Check for overflows with ClrUsed. 2005-02-14 11:08:22 +00:00
Paul Vriens 19e86c7de3 Add WinXP to OaBuildVersion. 2005-02-08 12:56:50 +00:00
Mike Hearn 08dc15fa0a Return OLE automation build value as win2k by default. 2005-02-08 12:12:40 +00:00
Vincent Béron dff207d3ce Remove message telling users to copy native stdole32.tlb over as we
now provide it.
Better trace in LoadTypeLib.
Change debug messages type to reflect we provide stdole32.tlb.
2005-01-31 11:34:10 +00:00
Rein Klazes 26771be4da SafeArrayDestroy() returns success when called with a NULL
pointer. Added to the test cases.
2005-01-31 11:31:50 +00:00
Mike Hearn 64eac75fe4 - Change some FIXMEs to ERRs to reflect the fact that nothing needs
fixing.
- Fix some memory leaks on error paths in _marshal_interface.
2005-01-27 11:11:32 +00:00
Mike Hearn 6c093f39a4 Fix a typo, propagate errors better from inside the typelib
marshaller.
2005-01-26 19:42:17 +00:00
Robert Shearman ce5adcda15 - Move OLE automation interface registration to oleaut32.
- Add IRemUnknown to list of interfaces to register.
2005-01-25 19:03:30 +00:00
Alex Villacís Lasso d0bdb3888b Initialize temporary variants before calling VariantChangeTypeEx. 2005-01-25 18:57:43 +00:00
Rémi Assailly 6063b542aa char -> const char fixes. 2005-01-24 11:29:44 +00:00
Alex Villacís Lasso ed9a359402 When parsing an hex/oct integer value, copy value verbatim in VARIANT,
rather than a negated value. Add test case for this behavior.
2005-01-17 19:34:58 +00:00
James Hawkins ba92d2924a - Use Interlocked* instead of ++/-- in AddRef/Release.
- Use only stored result of Interlocked* in AddRef/Release.
- Expand TRACEs to display the ref count.
2005-01-14 16:02:20 +00:00
Alexandre Julliard 53526959e9 Another warning fix. 2005-01-10 12:31:06 +00:00
Alexandre Julliard dd8fccfe72 Avoid warnings. 2005-01-09 18:01:49 +00:00
Huw Davies d070d8fb46 The value of a packed VARIANT can be up to 1L << 26 - 1. 2005-01-09 18:00:32 +00:00
Paul Vriens 202b340a51 - use Interlocked* functions in AddRef and Release.
- store the result of the Interlocked functions and use only this.
2005-01-09 17:29:21 +00:00
Eric Pouech cf1d00bb08 Removed excessive statement (break after return or goto, not useful
break, not needed vars...)
2005-01-09 16:42:53 +00:00
Michael Stefaniuc 15a308a9d7 Do not check for non NULL pointer before HeapFree'ing it. It's
redundant.
2005-01-03 14:56:42 +00:00
Eric Pouech 89f5283432 Some missing const correctness fixes. 2005-01-03 14:50:12 +00:00
Huw Davies 273137cc2c Fix typelib generation of CARRAYs. 2004-12-27 17:19:26 +00:00
Michael Stefaniuc 5ad7d858e0 Do not check for non NULL pointer before HeapFree'ing it. It's
redundant.
2004-12-23 17:06:43 +00:00
Francois Gouget 6fb1a20020 Assorted spelling fixes. 2004-12-20 19:27:06 +00:00
Bill Medland 405abd5b06 Fully initialise the structure to prevent ill-defined behaviour. 2004-12-20 17:05:44 +00:00
Alexandre Julliard ddd2486e98 Expand the COPYTEST macro to avoid trouble with 64-bit types. 2004-12-17 19:13:24 +00:00
Huw Davies dcb25230e0 Fix comment to reflect reality and indeed the code. 2004-12-17 18:56:49 +00:00
Jon Griffiths f82272c92f Remove unneeded headers to reduce unneeded rebuilds. 2004-12-16 14:35:55 +00:00
Dmitry Timoshkov da10a46ca7 Add Russian translations. 2004-12-15 10:44:00 +00:00
Robert Shearman 67942791e2 Implement RPC_E_DISCONNECTED in proxies. 2004-12-14 11:44:11 +00:00
Eric Pouech 4056d7ef8c Fixed some errors in function prototypes. 2004-12-13 21:19:01 +00:00
Hans Leidekker 97b7e0dec7 Fix compilation with GCC 4. 2004-12-13 13:30:49 +00:00
Huw Davies 033276b687 Remove the remaining dependencies on internal structures from Invoke. 2004-12-09 11:36:27 +00:00
Huw Davies 3dc64fc541 GetTypeAttr should deep copy the typedesc. 2004-12-08 19:32:28 +00:00
Huw Davies 7a6c099921 Fix return value of GetVarIndexOfMemId. 2004-12-08 17:48:16 +00:00
Robert Shearman cd0970eb24 Make the DECIMAL_SETZERO macro take a DECIMAL instead of a DECIMAL* as
in the Microsoft headers and fix up the only caller.
2004-12-08 13:59:52 +00:00
Huw Davies 23ded07e63 Remove Invoke's dependence on the internal TLBFuncDesc structure.
Fix memory leaks in some failure cases.
2004-12-07 16:59:40 +00:00
Huw Davies 367d16931e GetFuncIndexOfMemId should respect invkind and return
TYPE_E_ELEMENTNOTFOUND if the function cannot be found.
2004-12-07 14:18:29 +00:00
Huw Davies 81768fe150 Allocate the TYPEATTR rather than copying it.
For a dual interface the dispinterface's cfuncs should include the
inherited functions, cbSizeVft should just be the size of IDispatch's
vtbl and we should strip TYPEFLAG_FOLEAUTOMATION.
2004-12-02 19:58:07 +00:00
Eric Pouech 0a258964c2 Const correctness fixes. 2004-11-30 21:38:57 +00:00
Jon Griffiths c50d8743fa Ensure DllCanUnloadNow is a truly void function, and give it a unique
name so it can be documented per-dll.
2004-11-30 17:40:51 +00:00
Alexandre Julliard 405568801e Removed a couple of no longer needed entries. 2004-11-19 18:28:05 +00:00