Commit Graph

74 Commits

Author SHA1 Message Date
Rob Shearman
6592c25bc7 ole32: Fix circular reference count in default handler objects.
This is caused by caching a pointer and reference to the data cache's
IPersistStorage interface without managing reference counts
appropriately.
2009-11-24 15:54:56 +01:00
Rob Shearman
24cccbf4d1 ole32: Add inproc handler object creation support for CoCreateInstance. 2009-11-24 10:46:12 +01:00
Huw Davies
e67da11716 ole32: Implement OleCreateEmbeddingHelper.
Based on a patch by Rob Shearman.
2009-06-26 11:59:04 +02:00
Michael Stefaniuc
0449701c31 ole32: Remove superfluous pointer casts. 2009-02-11 12:29:56 +01:00
Nikolay Sivov
11c1d7a0e7 ole32: Fix return value for DefaultHandler_GetMiscStatus. 2009-01-07 12:27:34 +01:00
Huw Davies
8355eeaa21 ole32: Defer releasing the delegate interfaces until after we return from an OnClose notification. 2008-11-25 12:17:27 +01:00
Huw Davies
8730bf66c9 ole32: Factor out the code to release the delegate interfaces. 2008-11-25 12:17:24 +01:00
Huw Davies
5937ddd403 ole32: Call the object's GetClassID if it's running. 2008-10-31 14:01:17 +01:00
Huw Davies
b05d392dfb ole32: Try to load the '\1Ole' stream and create it if it doesn't exist. 2008-10-28 12:14:11 +01:00
Huw Davies
0cc2c53107 ole32: Create the '\1Ole' stream. 2008-10-28 12:14:06 +01:00
Huw Davies
92202feff3 ole32: Call the appropriate storage function when we run the object. 2008-10-23 12:13:49 +02:00
Huw Davies
94d753c63d ole32: Query the object's dirty state if it's running. 2008-10-21 13:22:51 +02:00
Huw Davies
3a0ed83fb0 ole32: Call the object's IPersistStorage_HandsOffStorage() if the object is running. 2008-10-21 13:22:51 +02:00
Huw Davies
89edf3a52f ole32: Call the object's IPersistStorage_SaveCompleted() if the object is running. 2008-10-21 13:22:51 +02:00
Huw Davies
72f82c04ec ole32: Call the object's IPersistStorage_Save() if the object is running. 2008-10-21 13:22:51 +02:00
Huw Davies
5b1520761d ole32: Call the object's IPersistStorage_InitNew() if the object is running. 2008-10-21 13:22:51 +02:00
Huw Davies
3019a8f195 ole32: Call the object's IPersistStorage_Load() if the object is running. 2008-10-21 13:22:51 +02:00
Huw Davies
ed28886f9d ole32: Call the object's IOleObject_IsUpToData() if the object is running. 2008-10-21 13:22:51 +02:00
Huw Davies
5ba96d7ae1 ole32: Call the object's own IOleObject_GetUserType() if the object is running. 2008-10-21 13:22:51 +02:00
Huw Davies
f2cf617f00 ole32: Partial implementation of IOleObject_Update(). 2008-10-21 13:22:50 +02:00
Huw Davies
ec73ad29e0 ole32: Remove an unneeded WINAPI and remove some useless comments. 2008-10-06 12:51:53 +02:00
François Dorin
db941f43b6 ole32: Fix return value for DefaultHandler_SetExtent. 2008-07-28 12:06:29 +02:00
Austin English
1b24da3aa0 ole32: Spelling fixes. 2008-04-10 09:51:12 +02:00
Andrew Talbot
4971f2f687 ole32: Assign to structs instead of using memcpy. 2008-03-11 12:11:51 +01:00
Alex Villacís Lasso
5da0c8b18f ole32: Fix forgotten IPersistStorage vtable. 2007-08-27 12:01:31 +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
Michael Stefaniuc
21ff87bf50 ole32: Win64 printf format warning fixes. 2006-10-16 10:53:28 +02:00
Robert Shearman
53d01d2764 ole32: DefaultHandler_GetData and DefaultHandler_QueryGetData should
both defer to the real data object if the cached versions fail and we
are running.
2006-09-07 11:43:59 +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
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
Jonathan Ernst
360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Robert Shearman
582e2f1ff8 ole32: Fix DefaultHandler_EnumAdvises.
As per MSDN, if the object has no connections then
IOleObject::EnumAdvises should return a NULL enumerator and S_OK. This
is the case when This->oleAdviseHolder is NULL, so do this and avert a
potential NULL dereference of This->oleAdviseHolder (found by
Coverity).
2006-04-07 13:09:36 +02:00
Robert Shearman
92ad2958ac ole: Remove some duplicated code. 2006-01-11 12:09:11 +01:00
Robert Shearman
5f7bb17cf4 Implement IOleObject_DoVerb function by running the object and then
delegating to the remote IOleObject_DoVerb function.
2005-11-28 11:24:31 +01:00
Robert Shearman
b9d7754034 Delegate advises to the remote object to enable the client to receive
data change notifications.
2005-11-28 11:16:58 +01:00
Robert Shearman
bc09238067 Call DefaultHandler_Stop if we fail to start the server running
correctly and a few formatting fixes.
2005-11-28 10:58:51 +01:00
Robert Shearman
22cf59ba43 Call the equivalent delegate function for all of the simple
functions.
2005-11-28 10:39:19 +01:00
Robert Shearman
fe4015201b Implement OLE object notifications, making sure to cope with the case
of the advise holder not being created because no notifications are
needed.
2005-11-03 19:32:49 +00:00
Robert Shearman
22c97cd98a Implement a Stop function and use this to properly implement
IOleObject_Close, IAdviseSink_OnClose and the destructor.
2005-10-26 10:12:49 +00:00
Robert Shearman
fc68475c80 Add a stubbed out implementation of IAdviseSink and advise the
delegate object to use it.
2005-09-29 10:29:44 +00:00
Robert Shearman
8165b584f6 - Make the interfaces that should be supported by the data cache
explicit so their is no confusion in this file as to what it should
  be implementing and what this object should implement.
- Delegate some IOleObject methods to the server IOleObject if it is
  running.
2005-09-28 18:29:38 +00:00
Alex Villacís Lasso
a90c11330e Add missing ! to fix a reversed condition check in
OleCreateDefaultHandler, in order to match intent in comment.
2005-09-28 18:12:45 +00:00
Francois Gouget
a8c7284f92 Assorted spelling fixes. 2005-09-26 10:58:41 +00:00
Robert Shearman
53ef9950f2 Implement some IRunningObject functions that actually start the server
and initialize it.
2005-09-23 10:08:35 +00:00
Robert Shearman
83f3b370b1 - Remove redunant braces.
- Compact multi-line comments that fit into one line.
- Remove comments that state the obvious.
- Remove extra brackets that are redundant because the -> operator
  binds tighter than &.
- Change "this" to "This" to make code more like other interface
  implementations.
- Remove redundant comparisons with NULL for pointers.
2005-09-19 14:42:53 +00:00
Robert Shearman
18bd21d4f1 Re-arrange some functions and vtables so we don't have declarations
for all of the functions in the file.
2005-09-17 14:29:11 +00:00
Alexandre Julliard
b1a9701bb5 Replace the _ICOM_THIS_From macros by inline functions the way it's
already done in shelllink.c.
2005-07-27 11:10:52 +00:00
Mike McCormack
c7fdb4565a Fix gcc 4.0 -Wpointer-sign warnings. 2005-07-05 11:02:54 +00:00