Michael Stefaniuc
d17e760cb3
ole32: Standardize COM aggregation for the DataCache.
...
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-06 16:19:43 +09:00
Nikolay Sivov
fde61d467a
ole32: Fix CreataDataCache() return value when requested riid is not IUnknown, for aggregation case.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-22 22:23:31 +09:00
Dmitry Timoshkov
39d2ce5956
ole32: Relax media type check when loading CF_METAFILEPICT format from OLE storage.
...
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-03 22:14:04 +09:00
Dmitry Timoshkov
421b3ca3eb
ole32: Fallback to parsing the Presentation streams ff parsing of the "CONTENTS" stream fails.
...
I have an application that tries to load an existing object from the file
using OleLoad() and fails because the "CONTENTS" stream has clsid set to
"Microsoft Photo Editor 3.0 Picture". I've dumped the contents of the OLE
storage to disk for investigation, and under Windows (where Microsoft Photo
Editor is not installed, and registry has no traces of its class guids)
OleLoad() is able to load objects from this storage, and after that OleDraw()
successfully paints the object contents on the screen. I've written an
application to play with the dumped storage, and under Windows the "CONTENTS"
stream also can't be loaded, but the storage also contains the "OlePres000"
stream which contains an object in CF_METAFILEPICT format, and this one can be
loaded and painted.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-29 21:20:07 +09:00
Dmitry Timoshkov
1b580e70e9
ole32: Print a FIXME when the "CONTENTS" stream refers to unsupported format.
...
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-23 19:20:25 +09:00
Dmitry Timoshkov
b9d8c2b1ea
ole32: Initialize number of bytes read before the comparison.
...
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-21 19:19:08 +09:00
Huw Davies
94ee4096ec
ole32: Add a stub for OleCreateFromFileEx.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-09 19:17:02 +09:00
Huw Davies
b0deb315a0
ole32: Implement QueryGetData().
2015-03-25 19:45:58 +09:00
Huw Davies
b4cd2c4dbb
ole32: Add support for drawing the dib format.
2015-03-25 19:45:55 +09:00
Huw Davies
e410f273cd
ole32: Add support for retrieving extents of dib format.
2015-03-25 19:45:52 +09:00
Huw Davies
bbba2c00aa
ole32: Add support for loading dibs.
2015-03-25 19:45:48 +09:00
Huw Davies
547fd746bb
ole32: Separate metafile loading into a helper function.
2015-03-25 19:45:42 +09:00
Huw Davies
480c10cce9
ole32: Add support for parsing the 'CONTENTS' stream.
2015-03-25 19:45:36 +09:00
Huw Davies
d864387aaa
ole32: Split the data loading into a couple of helpers.
2015-03-25 19:45:31 +09:00
Huw Davies
a4e3668f3f
ole32: A cache entry should hold the stream its data is from, not the top-level storage.
2015-03-25 19:45:10 +09:00
Huw Davies
c5e020c5b5
ole32: Read the class id from the top-level storage object.
...
The cache_entries' storages are just references to the same object anyway.
2015-03-25 19:44:59 +09:00
Nikolay Sivov
3376648224
ole32/datacache: Handle stream Stat() failure (PVS-Studio).
2015-03-19 16:56:05 +09:00
Francois Gouget
7fe0600237
ole32: Remove unneeded NONAMELESSXXX directives.
2015-03-17 14:18:54 +09:00
Jacek Caban
153b94b3c5
ole32: Use proper helpers for iface calls.
2012-08-13 16:28:48 +02:00
Michael Stefaniuc
feba7c37b4
ole32: Use ifaces instead of vtbl pointers in DataCache.
2010-12-23 13:47:27 +01:00
Huw Davies
abf8da6727
ole32: Implement OnRun and OnStop.
2010-11-01 16:16:12 +01:00
Huw Davies
6b05b2a927
ole32: Remove some useless comments.
2010-11-01 16:16:05 +01:00
Huw Davies
96ab42728d
ole32: Re-order some functions.
2010-11-01 16:15:57 +01:00
Huw Davies
c41c05057c
ole32: Rename cache entry parameters from 'This' - it leads to too much confusion with the data cache itself, which is the real COM object.
2010-11-01 16:15:49 +01:00
Huw Davies
4d137e4702
ole32: Add a stub advise sink object to the data cache.
2010-11-01 16:15:38 +01:00
Huw Davies
250b55c41d
ole32: Call the draw_continue function.
2010-09-28 17:33:17 +02:00
Michael Stefaniuc
ffac31da09
ole32: Use IsEqualIID instead of memcmp to compare REFIIDs.
2010-07-23 11:46:29 +02:00
Nikolay Sivov
1b0182f9bb
ole32: Use IsEqualIID() instead of memcmp().
2010-07-21 17:38:37 +02:00
Nikolay Sivov
5185409144
ole32: Remove redundant variables.
2010-07-21 17:38:37 +02:00
Rob Shearman
add909a021
ole32: Release the storage object in DataCache_Destroy.
2009-11-29 16:40:12 +01:00
Michael Stefaniuc
0449701c31
ole32: Remove superfluous pointer casts.
2009-02-11 12:29:56 +01: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
Eric Pouech
528ad9ebbd
ole32: Fixed datacache object so that we can retrieve meaningful information.
2008-01-14 13:38:46 +01:00
Rob Shearman
5d2f802359
ole32: Validate the parameters to DataCache_Cache.
2007-11-13 23:28:05 +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
8f6218a7c8
ole32: Fix a memory leak in DataCacheEntry_Save.
2007-11-12 11:46:06 +01:00
Rob Shearman
cc30255c8a
ole32: Support reading and writing custom clipformats in the data cache.
2006-12-18 11:45:42 +01:00
Francois Gouget
f0ccd389d4
ole32: Convert dump_FORMATETC() into debugstr_formatetc(), a proper debug trace function.
2006-12-06 12:14:55 +01:00
Rob Shearman
878d5e9cec
ole32: Implement the GetData function of the data cache to using the
...
existing LoadData function and fix GetData to also return data that
has been set, rather than loaded.
2006-12-04 20:19:28 +01:00
Rob Shearman
1b244baf48
ole32: Fix HandsOffStorage in the data cache.
2006-12-04 20:19:03 +01:00
Rob Shearman
6235ac9f58
ole32: Implement the DiscardCache function in the data cache.
2006-12-04 20:18:56 +01:00
Rob Shearman
feee099eec
ole32: Add some more traces to the data cache to make debugging easier.
2006-12-04 13:51:15 +01:00
Rob Shearman
ca81b825be
ole32: In the data cache, fmtetc->cfFormat and fmtetc->tymed can be 0 which means to match any clipformat/tymed.
...
Therefore, keep the clipformat of the data in the data_cf field.
Return an error from SetData if a non-zero clipformat hasn't been specified.
Write out stgmedium.tymed instead of fmtetc.tymed, which is guaranteed
to be non-zero if data has been set.
2006-12-04 13:51:06 +01:00
Rob Shearman
d37b669503
ole32: Check that the specified clipboard format and tymed are valid in IOleCache::Cache in the data cache.
2006-12-04 13:44:06 +01:00
Rob Shearman
587ba29174
ole32: Implement saving of the data cache.
...
Document a few of the unknown fields in the presentation data header.
2006-12-04 12:21:20 +01:00
Rob Shearman
e5c82d3aa4
ole32: Add handling of the dirty state to the data cache and fix InitNew to not call Load.
2006-12-04 12:21:09 +01:00
Rob Shearman
e9cc0744cc
ole32: Add documentation for CreateDataCache.
2006-12-04 12:20:57 +01:00
Rob Shearman
4b7e8e73a4
ole32: The advise sink for the data cache should be primed with the passed in aspects value, not an arbitrarily selected value.
2006-12-04 12:20:41 +01:00
Rob Shearman
46f70207b2
ole32: Implement the SetData function for the data cache.
2006-12-04 12:20:36 +01:00
Rob Shearman
25d7d95035
ole32: Load cached data in the data cache into a STGMEDIUM type so it can be treated the same as set data.
2006-12-04 12:20:28 +01:00
Rob Shearman
4232d31c57
ole32: Implement Cache and Uncache for the data cache.
2006-12-04 12:20:18 +01:00
Rob Shearman
07e3d538a0
ole32: Create a cache entry for each format in the data cache to allow
...
for the future possiblity to add entries with IOleCache::Cache and
IOleCache::SetData.
2006-12-04 12:20:07 +01:00
Rob Shearman
a2d59ef534
ole32: Implement DataCache_GetClassID.
2006-12-04 12:19:31 +01:00
Michael Stefaniuc
21ff87bf50
ole32: Win64 printf format warning fixes.
2006-10-16 10:53:28 +02:00
Jonathan Ernst
360a3f9142
Update the address of the Free Software Foundation.
2006-05-23 14:11:13 +02:00
Francois Gouget
6bddeb1cf7
Assorted spelling fixes.
2006-03-21 20:10:39 +01:00
Alex Villacís Lasso
1e26f9601d
Add NULL check for sinkInterface in DataCache_GetAdvise.
2005-09-28 18:12:58 +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
Dmitry Timoshkov
eba47f1dfe
Make remaining OLE interface vtables const.
2005-06-06 19:50:35 +00:00
Mike McCormack
e19ce3bd40
Remove unnecessary function prototypes.
2005-03-27 18:16:49 +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
Vincent Béron
4eeae1adb3
Fix some types problems.
2004-10-18 22:39:21 +00:00
Francois Gouget
486d020c1b
Don't define COBJMACROS in objbase.h.
...
Update the Wine sources accordingly.
2004-10-07 03:06:48 +00:00
Francois Gouget
67aa858a31
Assorted spelling fixes.
2004-10-05 18:15:29 +00:00
Joris Huizer
34cffce6f9
Ref count increment/decrement cleanup.
2004-09-24 01:16:53 +00:00
Alexandre Julliard
f714b39762
Get rid of the no longer used ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
...
macro.
2004-08-23 19:39:48 +00:00
Alexandre Julliard
48c4bb3c31
Get rid of the non-standard ICOM_VTABLE macro.
2004-08-12 23:00:51 +00:00
Marcus Meissner
e3a37c8a26
Revert broken strict aliasing fix.
2004-05-21 20:52:57 +00:00
Marcus Meissner
ff39b877a4
Fixed strict aliasing issues in dlls/ole32.
2004-05-04 03:10:50 +00:00
Ge van Geldorp
399901e054
Rename LARGE_INTEGER and ULARGE_INTEGER members "s" to "u" to conform
...
with PSDK.
2004-01-23 01:51:33 +00:00
Dave Miller
47fb938d54
Removed ordinals from comments.
2003-09-11 03:06:25 +00:00
Alexandre Julliard
e37c6e18d0
Fixed header dependencies to be fully compatible with the Windows
...
headers (with help from Dimitrie O. Paun).
2003-09-05 23:08:26 +00:00
Alexandre Julliard
802ebc1168
Converted oleidl.h to IDL.
2003-09-03 20:17:39 +00:00
Francois Gouget
14a5d168e9
Fixed some common spelling errors.
2003-07-02 04:37:26 +00:00
Dimitrie O. Paun
297f3d898d
Define NONAMELESS{STRUCT,UNION} explicitly in the files that need them.
2003-01-07 20:36:20 +00:00
Ove Kaaven
1f5315c80f
Make sure that no files except unknwn.h include wine/obj_base.h
...
directly.
2002-12-05 20:33:07 +00:00
Alexandre Julliard
8710a79d54
Compile ole32 with -DSTRICT.
2002-11-22 04:43:02 +00:00
Michael Stefaniuc
5c55df649b
Converted HENHMETAFILE and HMETAFILE to a void*.
2002-07-29 00:14:59 +00:00
Vincent Béron
9a62491660
Removed trailing whitespace.
2002-05-31 23:06:46 +00:00
Alexandre Julliard
0799c1a780
Added LGPL standard comment, and copyright notices where necessary.
...
Global replacement of debugtools.h by wine/debug.h.
2002-03-09 23:29:33 +00:00
James Juran
f4d5fefb0a
Add <string.h> to files that needed it.
2001-01-26 20:43:40 +00:00
Alexandre Julliard
74af67ef42
Removed shell.h. Cleaned up the nested includes mess in wine/obj_*.h.
2000-09-26 00:00:55 +00:00
Andreas Mohr
2caee712a2
Spelling fixes.
2000-07-16 15:44:22 +00:00
Alexandre Julliard
917910324f
Cleaned up a few inter-dll dependencies.
2000-06-23 16:13:33 +00:00
Alexandre Julliard
5ea22474bb
Use the Unicode string functions from wine/unicode.h instead of the
...
crtdll ones.
2000-06-13 01:10:29 +00:00
Alexandre Julliard
32c8934d8a
Abey George (of Macadamian/Corel)
...
When you open files with Embedded objects, they were not getting drawn
correctly. When you paste OLE objects with presentation data, they
were not getting drawn correctly.
2000-05-23 23:34:40 +00:00
Andrew Lewycky
7315a4b0aa
Support loading any presentation aspect.
2000-03-19 12:42:58 +00:00
Abey George
21dbb6c085
Implemented OLE clipboard functionality for Embed Source format.
...
It helps you cut and paste data with Embed Source format between
applications. It also implements OleCreateFromData and
OleQueryCreateFromData and fixes some bugs in datacache.c.
2000-03-08 18:49:36 +00:00
Alexandre Julliard
fc296da4e2
Removed extra includes from ole.h and wingdi.h.
2000-02-10 19:39:48 +00:00
Alexandre Julliard
681c75bf17
Added debugstr_guid function and used it to replace
...
WINE_StringFromCLSID in all debugging messages.
2000-01-18 05:09:49 +00:00
Ulrich Weigand
2a722f498a
Moved bulk of OLE implementation to dlls/ subdirectories.
1999-09-19 18:36:53 +00:00