Mike McCormack
f205eca5ad
ole32: FreePropVariantArray should return an error if rgvars is null.
...
As suggested by Rob Shearman.
2006-08-14 11:46:38 +02:00
Robert Shearman
c350e0000f
ole32: Add a check for NULL This->dataAdviseHolder in DefaultHandler_Stop.
...
Cleanup DefaultHandler_GetCanonicalFormatEtc by using
This->pDataDelegate instead of querying for IDataObject from
This->pOleDelegate.
2006-08-09 20:40:17 +02:00
Robert Shearman
8d7bfca965
ole32: Fix a typo in IEnumSTATSTGImpl_QueryInterface where IStorage was being compared against instead of IEnumSTATSTG.
2006-08-09 20:40:11 +02:00
Robert Shearman
8f513e3576
ole32: When comparing monikers use the abData field of MInterfacePointer
...
as ulCntData doesn't include the size of its own field.
2006-08-09 20:39:51 +02:00
Robert Shearman
f589ec8081
ole32: Zero stg in case ADVF_NODATA is specified.
...
Otherwise IDataObject_GetData fails before using it in
DataAdviseHolder_SendOnDataChange.
2006-08-09 20:39:37 +02:00
Francois Gouget
7bb2c3f8a6
ole32: Register the CLSID_Picture_Metafile and CLSID_Picture_Dib ProgIDs.
2006-08-09 20:37:44 +02:00
Francois Gouget
9ed9398ebe
ole32: Add a BaseInterface where needed.
2006-08-08 11:15:28 +02:00
Robert Shearman
6ba258ec1d
ole32: Tell the advise holder what the data delegate is in DefaultHandle_DAdvise if we are already connected.
2006-08-07 15:35:32 +02:00
Robert Shearman
c860b8aec4
ole32: Finish off delegate notifications in the data advise holder.
...
Advise the data delegate object when new advises come in on the data
advise holder, not just when connecting.
Unadvise the data delegate object when unadvising a connection on the
data advise holder, when destructing the data advise holder and when
disconnecting.
2006-08-07 15:35:28 +02:00
Francois Gouget
ce9b4baad8
Assorted spelling fixes.
2006-08-07 13:52:55 +02:00
Robert Shearman
f0dc9deff0
ole32: Ensure that a returned free block is valid in storage.
...
Otherwise, an IStream_SetSize call followed by an IStream_Read call
could fail with STG_E_DOCFILECORRUPT.
2006-08-03 22:23:27 +02:00
Robert Shearman
6455b9e1a0
ole32: Fix CoLockObjectExternal to respect fLastUnlockReleases.
2006-08-03 22:23:13 +02:00
Andrew Talbot
6bb8a7f726
ole32/tests: Write-strings warnings fix.
2006-08-03 22:22:55 +02:00
Jacek Caban
3cf1e46d95
ole32: Clean up OleRun.
2006-08-02 22:01:15 +02:00
Alexandre Julliard
518ee99f6f
ole32: Make some functions and variables static.
2006-08-02 13:31:26 +02:00
Robert Shearman
e3e42985ec
ole32: Implement OleNoteObjectVisible as described by MSDN.
2006-07-31 21:25:38 +02:00
Robert Shearman
1a5cd3ca9b
ole32: Remove a check on the share mode for the NULL filename case as the check is already done earlier in StgCreateDocfile.
2006-07-31 21:25:35 +02:00
Mike McCormack
63cbef27a2
ole32: Use IsGUIDEqual to compare IIDs.
2006-07-31 17:18:24 +02:00
Mike McCormack
6ede65596a
ole32: Add function parameters to FIXME messages.
2006-07-31 10:53:19 +02:00
Mike McCormack
24e69d544b
ole32: Add a test showing what STGM_TRANSACTED does for streams.
2006-07-31 10:53:15 +02:00
Mike McCormack
fd61c3f24b
ole32: Add some missing traces.
2006-07-29 11:55:43 +02:00
Mike McCormack
d9bfbe9197
ole32: Add a test for IEnumSTATSTG.
2006-07-29 11:55:39 +02:00
Robert Shearman
67ed752e69
ole32: Add more self-registration entries for classes and interfaces.
2006-07-27 11:42:29 +02:00
Robert Shearman
2308d49bcb
ole32: Implement CoRegisterPSClsid.
2006-07-21 10:52:03 +02:00
Robert Shearman
fac6bedda9
ole32: Improve CoRegisterMessageFilter and add tests for it.
2006-07-17 13:43:47 +02:00
Robert Shearman
352d9e2d67
ole32: Free the buffer allocated in local_server_thread (found by Smatch).
2006-07-17 13:43:44 +02:00
Robert Shearman
69e10bf1ed
ole32: Add validation of parameters to CoGetClassObject and make sure to initialise ppv to NULL.
2006-07-14 12:38:44 +02:00
Robert Shearman
11c1bcf6de
ole32: Don't loop while peeking messages in CoWaitForMultipleHandles.
...
It increases the latency on completing the COM call and could result in
the COM call never completing in some circumstances.
2006-07-13 16:26:25 +02:00
Mike McCormack
6a15ac7f0a
ole32: Only return S_FALSE in IPropertyStorage::ReadMultiple if a property was not found.
2006-07-12 19:30:06 +02:00
Mike McCormack
49ff182fc4
ole32: Small cleanups.
2006-07-12 19:29:14 +02:00
Mike McCormack
1a80cb87cb
ole32: Remove unnecessary assert(This) calls.
2006-07-12 19:28:57 +02:00
Mike McCormack
ac01692523
ole32: Fix and test reading and writing of VT_CF properties.
2006-07-12 19:28:24 +02:00
Mike McCormack
a8b38fa2ea
ole32: Implement IPropertyStorage::Enum using enumx.
2006-07-12 13:19:51 +02:00
Mike McCormack
6c21ac2565
ole32: Clean up some declarations.
2006-07-12 13:19:44 +02:00
Mike McCormack
d35176d52a
ole32: Use enumx to implement IPropertySetStorage::Enum.
2006-07-12 13:19:39 +02:00
Mike McCormack
127ae2bf8b
ole32: Add a framework for implementing IEnum* interfaces.
2006-07-12 13:18:17 +02:00
Mike McCormack
918cf3261b
ole32: Don't warn when clearing PropVariants that don't have allocated memory.
2006-07-12 13:17:51 +02:00
Mike McCormack
d323acc23b
ole32: Fix conformance test to compile with MSVC6.
2006-07-12 13:17:41 +02:00
Mike McCormack
a5b3479774
ole32: This cannot be NULL, so don't check it.
2006-07-12 13:17:29 +02:00
Mike McCormack
7f891787bc
ole32: Only return S_FALSE in IPropertyStorage::ReadMultiple if a property was not found.
2006-07-12 13:17:23 +02:00
Mike McCormack
704dffcb09
ole32: Allocate copied VT_CF data correctly in PropVariantCopy.
2006-07-12 13:16:53 +02:00
Alexandre Julliard
eb8a40c368
libs: Merged libwine_unicode into libwine.
...
Most dlls use libwine_unicode at this point, so there's nothing to
gain by having two separate libraries.
2006-07-11 19:33:22 +02:00
Mike McCormack
55ab809854
ole32: Only print a FIXME if necessary in StgOpenStorageEx.
2006-07-11 12:41:42 +02:00
Alexandre Julliard
77dc0d9be5
.gitignore: Added wildcards to ignore generated resource files.
2006-07-10 21:39:00 +02:00
Alexandre Julliard
0fa8baafcb
make_dlls: Recursively ignore .ok files in all tests directories.
2006-07-10 21:26:50 +02:00
Alexandre Julliard
edd100b899
make_dlls: Recursively ignore testlist.c in all tests directories.
2006-07-10 21:19:42 +02:00
Alexandre Julliard
5258e061dc
make_dlls: Ignore generated import libraries from the top-level .gitignore.
2006-07-10 20:55:58 +02:00
Alexandre Julliard
cc2b3b48e6
Take advantage of the recursive nature of .gitignore for Makefile entries.
...
Prefix other entries with '/' to make them non-recursive.
2006-07-10 20:47:54 +02:00
Robert Shearman
5f453db5cf
ole32: Fix the return value of COM_RegReadPath and make it static.
2006-07-07 13:31:49 +02:00
Paul Vriens
8f143f190c
Use the return value of register_key_guid.
2006-06-30 21:08:07 +02:00
Robert Shearman
628371021b
ole32: When CoLockObjectExternal with fLock=TRUE is used on an object
...
that hasn't yet been marshaled then it should create a new stub
manager.
2006-06-30 20:44:02 +02:00
Robert Shearman
2f0e714a27
ole32: When marshaling a proxy make sure to maintain an external
...
reference on the stub object so that the first proxy can be released.
Implement external refcount sharing between a proxy and the marshaled proxy.
Extend the marshaling of a proxy test to show that an external reference
is always kept on the stub object.
2006-06-29 14:40:50 +02:00
Robert Shearman
723aceb20f
ole32: Add a test for CoCreateInstance doing object hosting by
...
automatically creating an appropriate apartment for the object and
returning a proxy to it.
2006-06-29 14:40:23 +02:00
Robert Shearman
b0efdcbdbd
ole32: Implement CoGetObject.
2006-06-29 14:40:05 +02:00
Andrew Talbot
d69745ff7a
ole32/tests: Write-strings warning fix.
2006-06-23 10:45:57 +02:00
Mike McCormack
98d4c2b049
ole32: Implement reading of VT_CF storage properties.
2006-06-19 22:54:21 +02:00
Mike McCormack
ccfa76d18e
ole32: Fix a typo.
2006-06-19 20:53:44 +02:00
Robert Shearman
1ddc722ec2
ole32: Document CoCreateFreeThreadedMarshaler.
2006-06-19 10:28:26 +02:00
Robert Shearman
aa09031c78
ole32: Reuse event handles used for COM calls.
...
This reduces the number of server calls during a COM call by half.
2006-06-19 10:28:20 +02:00
Robert Shearman
f2dc25a5f3
ole32: Always rewind the stream in StdGlobalInterfaceTable_GetInterfaceFromGlobal
...
as CoUnmarshalInterface may have advanced the stream, even if it failed.
2006-06-15 12:07:10 +02:00
Robert Shearman
fa757df883
ole32: Add a tests for OleSetMenuDescriptor and the global interface table.
2006-06-15 12:06:49 +02:00
Alexandre Julliard
96ad688174
ole32: Don't use sizeof in traces to avoid printf format warnings.
2006-06-13 14:11:15 +02:00
Alexandre Julliard
28e17a75af
ole32/tests: Don't use sizeof in ok() to avoid printf format warnings.
2006-06-13 14:03:36 +02:00
Robert Shearman
b5f7e818a1
ole32: Print an error if a DLL's DllGetClassObject fails as this is
...
usually a good indicator of a bug elsewhere in Wine.
2006-06-13 11:40:20 +02:00
Alexandre Julliard
69591d81f9
ole32: Explicitly specify CDECL calling convention on exported functions.
2006-06-12 21:34:59 +02:00
Alexandre Julliard
ae525c1441
ole32: Make the virtual table functions static where possible.
2006-06-10 11:59:15 +02:00
Robert Shearman
c60c28cf08
ole32: If IRpcStubBuffer_Invoke fails, we should raise an exception to
...
tell the RPC runtime that the call failed.
2006-06-09 21:11:20 +02:00
Robert Shearman
3d4e9d6a71
ole32: Register ISequentialStream for marshaling.
2006-06-09 21:11:09 +02:00
Robert Shearman
51e22f42bb
ole32: Implement CoQueryClientBlanket, CoImpersonateClient and
...
CoRevertToSelf on top of CoGetCallContext, which is a stub.
2006-06-09 21:11:02 +02:00
Robert Shearman
42c39675ea
ole32: Implement FTMarshalImpl_GetMarshalSizeMax.
2006-06-09 21:10:44 +02:00
Alexandre Julliard
32f57b0214
ole32: Use the standard DEFINE_OLEGUID macro to define GUIDs.
2006-06-09 21:09:49 +02:00
Troy Rollo
bdbc482651
ole32: Use STGM_WRITE when opening child storage to delete its children.
2006-05-31 11:45:29 +02:00
Robert Shearman
f2bd261f12
ole32: Add a class factory for CLSID_InProcFreeMarshaler.
2006-05-25 10:43:29 +02:00
Robert Shearman
386fcbb5f7
ole32: Implement GetUnmarshalClass for the free-threaded marshaler and
...
remove unnecessary unmarshaling code for the standard-marshal case -
this is handled by CoUnmarshalInterface and CoReleaseMarshalData.
2006-05-25 10:43:18 +02:00
Robert Shearman
2c57189a97
ole32: Implement table-strong marshaling and ReleaseMarshalData for the free-threaded marshaler.
2006-05-25 10:43:07 +02:00
Robert Shearman
f9b5280dd0
ole32: Implement table-weak marshaling for the free-threaded marshaler.
2006-05-25 10:42:56 +02:00
Robert Shearman
b795631daa
ole32: Release the standard marshal in the free-threaded marshaler's UnmarshalInterface function.
2006-05-25 10:42:12 +02:00
Robert Shearman
4335c64f7b
ole32: Add a rough implementation of the free-threaded marshaler MarshalInterface and UnmarshalInterface methods, with test cases.
2006-05-25 10:41:17 +02:00
Robert Shearman
4d1d2b6c1f
ole32: Fix the free-threaded marshaler when it has no outer unknown.
2006-05-25 10:41:04 +02:00
Robert Shearman
760208b2a5
uuid: Add some COM CLSIDs.
2006-05-25 10:38:57 +02:00
Jonathan Ernst
360a3f9142
Update the address of the Free Software Foundation.
2006-05-23 14:11:13 +02:00
Troy Rollo
1be295fb47
ole32: Fix excessive file sizes for Storage files.
...
The IStorage (DocFile) implementation was adding empty blocks at the
end of the file every time a caller wrote data that was not a multiple
of 512 bytes. If the caller made a lot of very small writes the file
size could be huge even though the data in the file was tiny. This was
caused by BlockChainStream_SetSize trying to allocate file blocks for
the new data using a condition that bore no relationship to the
required condition, and it was not necessary to do so at that time
since it is done (the right way) by StorageImpl_GetNextFreeBigBlock
(called via BlockChainStream_Enlarge).
2006-05-23 13:00:13 +02:00
Robert Shearman
0fd184773a
ole32: Release the outer unknown in the proxybuffer test.
...
Release the outer unknown in the proxybuffer test to show that the
last release of the outer unknown doesn't free the proxy buffer.
2006-05-23 12:05:07 +02:00
Robert Shearman
875390110f
ole32: Release the proxy buffer object on the last release of the proxy's outer unknown.
...
Release the proxy buffer object on the last release of the proxy's outer
unknown, otherwise memory is leaked for the Ndr implementation of
IRpcProxyBuffer.
Fix up the hand-coded proxies to match the behaviour from the Ndr
implementation.
2006-05-23 12:05:01 +02:00
Francois Gouget
17689c07bb
Fix some winapi_check documentation warnings.
2006-05-15 15:05:15 +02:00
Francois Gouget
f7c24f37ad
Various trace fixes.
...
Add trailing '\n's to trace calls.
Remove spaces before '\n'.
2006-05-15 15:05:09 +02:00
Francois Gouget
3b102b39f4
ole32: Fix compilation with gcc 2.95.
2006-05-15 11:09:01 +02:00
Robert Shearman
74407105d2
Check the return value from register_key_guid in all the DLL registering code.
2006-05-10 19:38:04 +02:00
Robert Shearman
5a8536a18d
ole32: Add a test for IMoniker_IsDirty.
2006-05-10 19:26:22 +02:00
Robert Shearman
af6d97ad36
ole32: Exception handling shouldn't be needed around the call to IRpcStubBuffer_Invoke.
...
It should have its own exception handler to catch any exceptions that are raised.
2006-05-10 19:24:24 +02:00
Robert Shearman
1c6f16a384
ole32: The type check in AntiMonikerImpl_CommonPrefixWith should be for anti-monikers, not item-monikers.
2006-05-08 21:14:36 +02:00
Robert Shearman
ae62ab039f
ole32: Implement several class moniker functions using the description provided on MSDN.
2006-05-08 21:14:28 +02:00
Robert Shearman
b155f233f3
ole32: Remove duplicated CLSIDs.
2006-05-08 21:13:38 +02:00
Robert Shearman
8a4f71c61e
ole32: Add an implementation of class monikers.
2006-05-08 21:13:32 +02:00
Robert Shearman
71a7393f45
ole32: Add tests for IsRunning, GetTimeOfLastChange, BindToObject, BindToStorage and Inverse.
2006-05-08 21:04:26 +02:00
Robert Shearman
288fb09b31
ole32: Fix regression caused by an earlier patch that removed the
...
check for the composite moniker having only one moniker in it. In this
case, return the one moniker and free the memory associate with the
composite moniker.
2006-05-08 20:59:25 +02:00
Robert Shearman
96646d532f
ole32: Fix infinite recursion in CompositeMonikerImpl_GetTimeOfLastChange by handling pmkToLeft properly.
...
Fix a typo where CompositeMonikerImpl_GetTimeOfLastChange was called
instead of the virtual implementation of it on mostRightMk.
2006-05-08 20:59:04 +02:00
Robert Shearman
91afe981e0
ole32: Fix infinite recursion in CompositeMonikerImpl_BindToStorage.
2006-05-08 20:58:53 +02:00
Mike Hearn
27800ef4cc
ole32: Add StgCreateFile test and conformance fix.
2006-05-08 16:04:51 +02:00
Alexandre Julliard
fec050c88d
ole32: Properly initialize hash value in CompositeMonikerImpl_Hash.
2006-05-08 16:04:41 +02:00