ole32: TYMED_NULL is not valid.

Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Huw Davies 2017-10-31 13:23:31 +00:00 committed by Alexandre Julliard
parent 12718fe021
commit c3fe4b87d6
2 changed files with 8 additions and 1 deletions

View File

@ -328,7 +328,7 @@ static HRESULT check_valid_formatetc( const FORMATETC *fmt )
if (fmt->dwAspect == DVASPECT_ICON && fmt->cfFormat != CF_METAFILEPICT)
return DV_E_FORMATETC;
if (!fmt->cfFormat || !fmt->tymed ||
if (!fmt->cfFormat ||
(fmt->cfFormat == CF_METAFILEPICT && fmt->tymed == TYMED_MFPICT) ||
(fmt->cfFormat == CF_BITMAP && fmt->tymed == TYMED_GDI) ||
(fmt->cfFormat == CF_DIB && fmt->tymed == TYMED_HGLOBAL) ||

View File

@ -2332,6 +2332,13 @@ static void test_data_cache_cache(void)
hr = IOleCache2_Uncache( cache, conn );
ok( hr == S_OK, "got %08x\n", hr );
/* tymed == 0 */
fmt.cfFormat = CF_ENHMETAFILE;
fmt.dwAspect = DVASPECT_CONTENT;
fmt.tymed = 0;
hr = IOleCache2_Cache( cache, &fmt, 0, &conn );
ok( hr == DV_E_TYMED, "got %08x\n", hr );
IDataObject_Release( data );
IOleCache2_Release( cache );
}