Rob Shearman
3328ad6eb9
ole32: Initialise object variable in RunningObjectTableImpl_GetObject.
...
As per the rules for memory in RPC, the memory pointer to by object will
be used during unmarshalling and previously it was uninitialised.
(Thanks to Dan Kegel and his Valgrind runs for reporting this.)
2007-12-06 12:06:56 +01:00
Rob Shearman
b711d35d40
ole32: Fix the test of the size returned from WdtpInterfacePointer_UserSize.
...
It varies on different versions of Windows, so we shouldn't test it for
an exact value.
2007-12-04 13:32:45 +01:00
Rob Shearman
31b2d81ea0
ole32: Ignore the threading model of the PSFactoryBuffer object created during standard marshaling.
...
This is so that we don't try to host it.
2007-12-03 11:55:00 +01:00
Rob Shearman
f65e04770d
ole32: Always create a window for the main apartment.
2007-12-03 11:54:16 +01:00
Rob Shearman
5c53b52c5a
ole32: Fix a test in the WdtpInterfacePointer tests.
2007-11-29 13:35:14 +01:00
Rob Shearman
95b6167244
ole32: Fix description of what is being test in ok calls in the WdtpInterfacePointer tests.
2007-11-29 13:35:10 +01:00
Rob Shearman
c111c2d685
ole32: Add tests for WdtpInterfacePointer_* functions.
...
Add stubs for these so that the tests link.
2007-11-27 11:40:19 +01:00
Rob Shearman
ddf59f50f7
ole32: Clean up properly in ClientRpcChannelBuffer_SendReceive in the case where PostMessageW fails.
2007-11-27 11:40:12 +01:00
Rob Shearman
6262230a4b
ole32: Store the dispatch parameters in the message state structure to allow them to be initialised earlier in the sequence of IRpcChannelBuffer calls.
2007-11-27 11:40:07 +01:00
Rob Shearman
6f917d49c1
ole32: Fix a race in find_proxy_manager.
2007-11-26 12:26:46 +01:00
Rob Shearman
33abd94d35
ole32: Intialise some out parameters in ProxyCliSec_QueryBlanket.
2007-11-15 11:09:22 +01:00
Rob Shearman
2fd5acedb7
ole32: Release the correct pointer in test_MkParseDisplayName.
...
Reported by Dan Kegel.
2007-11-13 23:28:05 +01:00
Rob Shearman
5d2f802359
ole32: Validate the parameters to DataCache_Cache.
2007-11-13 23:28:05 +01:00
Rob Shearman
56a624b0fe
ole32: Wait forever on the ready_event in the local server tests.
2007-11-13 13:33:17 +01:00
Rob Shearman
24723913e0
ole32: Use asynchronous I/O for the named pipe server for local servers.
2007-11-13 13:31:15 +01:00
Rob Shearman
da04018608
ole32: Fix the condition in HMETAFILEPICT_UserFree to match that in METAFILEPICT_UserMarshal.
...
Actually free the memory.
2007-11-13 13:29:53 +01:00
Rob Shearman
8ee930150c
ole32: Fix a memory leak in the HGLOBAL stream tests by telling CreateStreamOnHGlobal to free the memory it allocates, as we don't free it ourselves in this test.
2007-11-13 13:29:47 +01:00
Rob Shearman
d881005c4f
ole32: Release the stream in COM_RevokeRegisteredClassObject.
2007-11-13 13:29:38 +01:00
Rob Shearman
4edca3cf4d
ole32: Fail before constructing an object in CreateStreamOnHGlobal to avoid a memory leak.
2007-11-13 13:29:30 +01:00
Rob Shearman
2779099319
ole32: Disconnect the IRemUnknown stub buffer before destroying it to release the reference on the IRemUnknown object.
2007-11-12 12:53:59 +01:00
Rob Shearman
433639f783
ole32: Free the memory associated with the open DLL list on unloading of ole32.
2007-11-12 11:46:23 +01:00
Rob Shearman
1dc91c41a7
ole32: Initialise data_cf in DataCacheEntry's to zero to indicate no data present on creation.
2007-11-12 11:46:15 +01:00
Rob Shearman
dd527a7d2c
ole32: Fix a leak of a moniker object in test_default_handler.
2007-11-12 11:46:11 +01:00
Rob Shearman
8f6218a7c8
ole32: Fix a memory leak in DataCacheEntry_Save.
2007-11-12 11:46:06 +01:00
Rob Shearman
5885be4e11
ole32: Fix a memory leak of moniker in RunningObjectTableImpl_Register.
2007-11-12 11:46:02 +01:00
Rob Shearman
3bd222004e
ole32: Fix a leak of the IBindCtx object in FileMonikerImpl_IsEqual.
2007-11-12 11:45:57 +01:00
Rob Shearman
2249565eb7
ole32: Fix a memory leak in get_moniker_comparison_data.
2007-11-12 11:45:53 +01:00
Rob Shearman
2c1ba188d6
ole32: Store the InterfaceList object in the IEnumMoniker object.
...
This is because the IEnumMoniker object is supposed to free the memory
passed to it, but the array of InterfaceData pointers is inside the
InterfaceList memory block.
2007-11-12 11:45:49 +01:00
Rob Shearman
e8b9a427be
ole32: Add a missing IMoniker_Release to test_MkParseDisplayName.
2007-11-12 11:45:38 +01:00
Rob Shearman
a7bfdde975
ole32: Fix memory leak in ItemMonikerImpl_Save.
2007-11-12 11:45:34 +01:00
Rob Shearman
b75a33a214
ole32: Add a missing IStream_Release to test_same_apartment_unmarshal_failure.
2007-11-12 11:45:30 +01:00
Rob Shearman
2e2383d5ca
ole32: Add a missing IStream_Release to test_CoMarshalInterThreadInterfaceInStream.
2007-11-12 11:45:19 +01:00
Rob Shearman
d792a522c3
ole32: Remove an incorrect comment.
2007-11-02 12:18:50 +01:00
Rob Shearman
23dc7b6a67
ole32: Implement CoGetObjectContext.
2007-11-02 12:18:45 +01:00
Rob Shearman
1d0993341c
ole32: Add tests for CoGetObjectContext.
2007-11-02 12:18:42 +01:00
Rob Shearman
2eb10c2e22
ole32: Improve the error reporting in the marshal test when CreateProcess fails.
2007-11-02 12:18:40 +01:00
Francois Gouget
c4b1195c0c
Assorted spelling fixes.
2007-10-23 18:20:27 +02:00
Rob Shearman
5ce2d25b32
ole32: Reset the parent storage on overwritten streams so that operations on them now fail.
2007-10-22 12:36:07 +02:00
Rob Shearman
842d1b698d
ole32: Add a test to show that operations on overwritten should no longer succeed.
2007-10-22 12:36:07 +02:00
Alexandre Julliard
41cf63148a
Fix redundant uses of MAKEINTRESOURCE.
2007-10-18 14:16:32 +02:00
Bang Jun-young
9f3b5ae89c
ole32: Include wine/port.h for snprintf().
2007-10-17 13:44:05 +02:00
Francois Gouget
f76bea09d4
ole32: Fix the CoCreateGuid() ordinal in the documentation.
2007-10-15 14:06:25 +02:00
Mikolaj Zalewski
01e7891d48
ole32: OleIsRunning should return TRUE if the class doesn't implement IRunnableObject.
2007-10-10 11:18:44 +02:00
Rob Shearman
5e2d890e5d
ole32: RegisterDragDrop should return E_OUTOFMEMORY in the case that COM isn't intialised, instead of CO_E_NOTINITIALIZED.
2007-10-09 17:52:46 +02:00
Andrew Talbot
001d36b10e
ole32: Fix some memory leaks.
2007-10-02 11:44:09 +02:00
Stefan Leichter
b511912446
ole32: Define WINE_FILEVERSION in version resource of ole2nls.dll too.
2007-10-01 14:17:21 +02:00
Damjan Jovanovic
b9bdb2a6c2
ole32: Implement win16 COCREATEGUID.
2007-10-01 14:16:57 +02:00
Stefan Leichter
71d70f0fa1
ole32: Added version resource for ole2nls.dll.
2007-09-27 21:11:18 +02:00
Alexandre Julliard
2b5376cbc1
ole32/tests: Remove test that tries to create a huge file on Windows.
2007-09-25 11:38:31 +02:00
Michael Stefaniuc
dbfa8eedf7
ole32: Free memory on error path (found by Smatch).
2007-09-25 11:18:24 +02:00
Alexandre Julliard
85ad7c6558
ole32: We can now store binary files in the repository.
2007-09-17 15:53:00 +02:00
Rob Shearman
97f389451d
ole32: Fix the default unload delay to depend on the threading model of the component loaded.
2007-09-12 14:04:59 +02:00
Rob Shearman
5ffe867dc7
ole32: Implement CoFreeUnusedLibrariesEx.
...
Fix CoFreeUnusedLibraries to use a delay of 10 minutes when used with
multi-threaded apartments.
2007-09-12 14:04:56 +02:00
Rob Shearman
cfc50f89d7
ole32: Add cross-process running-object table support.
2007-09-11 13:55:08 +02:00
Lionel Debroux
caca06aa7f
ole32: Fix memory leak in compositemoniker.c (found by Smatch).
2007-09-11 11:47:08 +02:00
Aric Stewart
2d8cd767b2
ole32: Properly update the SmallBlockDepotCount when adding more blocks.
2007-08-28 11:58:44 +02:00
Alex Villacís Lasso
5da0c8b18f
ole32: Fix forgotten IPersistStorage vtable.
2007-08-27 12:01:31 +02:00
Stefan Leichter
fee1e38e56
ole32: Remove 'recursive registry key delete' function.
2007-08-23 20:18:32 +02:00
Huw Davies
54f2f60b54
ole32: The default handler needs to have its own implementation of IPersistStorage.
...
For now we forward the methods to the data cache as before.
2007-08-09 13:53:02 +02:00
Huw Davies
e97c5be2ed
ole32: Factor out the running object test into a separate function.
2007-08-09 13:52:54 +02:00
Huw Davies
0c8ce0d68b
ole32: Fix a few comments.
2007-08-09 13:52:48 +02:00
Rob Shearman
d845022819
ole32: Remove some dead code.
...
CoFreeUnusedLibraries doesn't do anything and COM_FlushMessageQueue
won't actually allow any RPCs to be processed as the apartment has
already been destroyed.
2007-07-16 22:46:45 +02:00
Andrew Talbot
d4417c3c14
ole32: Cast-qual warning fix.
2007-07-09 11:46:01 +02:00
Andrew Talbot
ca78a8b65f
ole32: Cast-qual warnings fix.
2007-07-06 18:11:46 +02:00
Andrew Talbot
eb7a89ccc6
ole32: Constify a variable (and fix a typo concerning its level of indirection).
2007-07-06 18:11:43 +02:00
Andrew Talbot
67d667b828
ole32: Constify some variables.
2007-07-05 19:52:35 +02:00
Andrew Talbot
886c970d76
ole32: Constify some variables.
2007-07-02 14:38:11 +02:00
Andrew Talbot
66b05dde02
ole32: Constify some variables.
2007-06-29 14:30:48 +02:00
Michael Stefaniuc
d28c3ca60c
ole32: Remove superfluous casts of void pointers to other pointer types.
2007-06-27 12:53:25 +02:00
Michael Stefaniuc
717cccb5ce
ole32: Do not use wide character constants.
2007-06-22 12:18:55 +02:00
Aric Stewart
f8c8355d85
ole32: Implementation of state bits for IStorage.
2007-06-07 23:09:10 +02:00
Ulrich Czekalla
c2fdea600a
ole32: Remove stack-based string buffer inFileMonikerImpl_DecomposePath.
2007-06-07 20:40:12 +02:00
Dmitry Timoshkov
3c9e7a7f33
wine: Switch to using 'long' for INT_PTR type for 64-bit compatibility.
2007-05-25 20:37:56 +02:00
Rob Shearman
30cc21196e
ole32: Remove spurious AddRef of returned object on retrieval of an interface from the global interface table.
2007-05-23 12:49:50 +02:00
Rob Shearman
7d90b6ce29
ole32: Allow the getting of different interfaces from the global interface table than that with what the object was registered with.
2007-05-23 12:49:45 +02:00
Rob Shearman
05230781b0
ole32: Add more tests for global interface table functions.
2007-05-23 12:49:39 +02:00
Rob Shearman
eebf8df601
ole32: Fix some races in the global interface table implementation.
...
Fix a race between RevokeInterfaceFromGlobal and GetInterfaceFromGlobal
by only using the entry inside the critical section.
Fix a race between two GetInterfaceFromGlobal by cloning the stream,
instead of using it and setting the current position back to zero.
2007-05-23 12:49:28 +02:00
Rob Shearman
71a5b2d943
ole32: Add spec entry for CoRegisterSurrogateEx.
2007-05-23 12:49:23 +02:00
Rob Shearman
071ea06af8
ole32: Remove a useless trace.
...
Remove an incorrect comment.
2007-05-22 12:19:07 +02:00
Rob Shearman
dd8a736c3f
ole32: The identity functions can be used from apartments other than the one the proxy was unmarshaled into.
...
In this case, don't use the cached This->remunk and don't cache the
unmarshaled object in This->remunk.
2007-05-22 12:18:55 +02:00
Rob Shearman
bf2b49b4e0
ole32: Make proxy_manager_get_remunknown AddRef the return IRemUnknown object.
...
Fix up the callers to release the returned IRemUnknown object.
2007-05-22 12:18:50 +02:00
Rob Shearman
5369d4dffd
ole32: Handle MSHLFLAGS_TABLEWEAK and MSHLFLAGS_TABLESTRONG when marshaling a proxy.
...
Add tests for this behaviour.
2007-05-22 12:18:31 +02:00
Rob Shearman
be55a4bbe2
ole32: Fix hosting in main apartments.
...
The recently introduced code had a bug where it passed the wrong
values into apartment_findfromtype to find the main apartment. Since
this is now the only way the function is used, fix this bug by
changing apartment_findfromtype to apartment_findmain, which only
finds the main apartment.
2007-05-21 12:38:54 +02:00
Rob Shearman
82cfed96a7
ole32: Fix reading from an HGLOBALStreamImpl with an invalid HGLOBAL.
...
Add tests that show the strange behaviour of IStream_Read returning S_OK
instead of an error code.
2007-05-18 14:42:53 +02:00
Rob Shearman
600143d4fa
ole32: Create host apartments to enable isolation of objects of incompatible threading models.
...
There should be one host apartment per apartment. Existing apartments
should not be re-used, except in the case of the main apartment.
2007-05-18 14:42:37 +02:00
Andrew Talbot
4ea954df42
ole32: Exclude unused headers.
2007-05-16 11:55:51 +02:00
Paul Vriens
0eeb5727b2
ole32/tests: Check for correct return value.
2007-05-14 16:45:17 +02:00
Rob Shearman
ed79ddab1d
ole32: Don't lookup the address for the DllGetClassObject function for ole32.dll in the apartment loaded dll list.
...
Call the function directly for a small performance boost.
2007-05-14 14:26:22 +02:00
Rob Shearman
70e8842924
ole32: Fix CoUninitialize to only free libraries that return S_OK from DllCanUnloadNow.
2007-05-14 14:26:17 +02:00
Rob Shearman
b005e9ed0d
ole32: Move the logic in StgCreateDocfile for "if no share mode given then DENY_NONE is the default" to before the validateSTGM check.
...
Add a test that shows this behaviour is correct.
Remove a test on the access mode that is redundant because it is already
done in validateSTGM.
2007-05-10 12:15:11 +02:00
Rob Shearman
4cd064aeb4
ole32: Don't release the drop target on process uninitialisation if not revoked, just release the memory.
2007-05-08 18:09:33 +02:00
Rob Shearman
71ada5c654
ole32: Add a test for the retrieved local class object in another thread being a proxy.
2007-05-08 13:24:07 +02:00
Rob Shearman
07229ed8ec
ole32: Add documentation for error info functions.
2007-05-08 13:24:02 +02:00
Rob Shearman
314f9fe509
ole32: Add documentation about registered class objects only being visible in the apartment in which they were registered.
2007-05-08 13:23:57 +02:00
Rob Shearman
7d7f9a59d0
ole32: Fix CoRevokeClassObject to return RPC_E_WRONG_THREAD if it was called from a different apartment than the one that called CoRegisterClassObject.
2007-05-08 13:23:51 +02:00
Rob Shearman
23e43d886e
ole32: Split CoRevokeClassObject into a separate function, COM_RevokeRegisteredClassObject, which acts on a RegisteredClass object.
2007-05-08 13:23:40 +02:00
Rob Shearman
51f85a765b
ole32: COM_GetRegisteredClassObject should only retrieve objects that were registered in the current apartment.
2007-05-08 13:23:30 +02:00
Rob Shearman
e93c82e643
ole32: Add tests for in-process registered class objects not being visible from different apartments.
2007-05-08 13:23:01 +02:00
Rob Shearman
d76ab14479
ole32: Revoke registered class objects when the apartment they were registered in is destroyed, not when the last CoUninitialize is called.
2007-05-08 13:22:50 +02:00
Rob Shearman
4cbca9ac3a
ole32: Add test for registered class becoming invalid when apartment is destroyed.
2007-05-08 13:22:26 +02:00