ole32: Obtain stream size regardless of current position.

Use STREAM_SEEK_END when attempting to determine the size of a stream
that clipboard data has just been rendered into. This corrects an issue
with Office 2016 where the current position of the stream is 0 while
rendering a target of image/png.

Signed-off-by: Micah N Gorrell <mgorrell@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Micah N Gorrell 2019-11-07 14:38:24 -07:00 committed by Alexandre Julliard
parent 404cee2aa6
commit e08eb410ee
1 changed files with 1 additions and 1 deletions

View File

@ -788,7 +788,7 @@ static HRESULT get_data_from_stream(IDataObject *data, FORMATETC *fmt, HGLOBAL *
if(FAILED(hr)) goto error;
offs.QuadPart = 0;
IStream_Seek(med.u.pstm, offs, STREAM_SEEK_CUR, &pos);
IStream_Seek(med.u.pstm, offs, STREAM_SEEK_END, &pos);
IStream_Seek(med.u.pstm, offs, STREAM_SEEK_SET, NULL);
hr = IStream_CopyTo(med.u.pstm, stm, pos, NULL, NULL);
ReleaseStgMedium(&med);