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