From adf53a9cdb4ac1999b0c17164ea92d16858d212c Mon Sep 17 00:00:00 2001 From: Huw Davies Date: Mon, 21 Aug 2017 12:31:51 +0100 Subject: [PATCH] riched20: Add support for pasting EMFs. Signed-off-by: Huw Davies Signed-off-by: Alexandre Julliard --- dlls/riched20/editor.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/dlls/riched20/editor.c b/dlls/riched20/editor.c index b66d8e8a440..a7b1bc748fd 100644 --- a/dlls/riched20/editor.c +++ b/dlls/riched20/editor.c @@ -2241,6 +2241,23 @@ static HRESULT paste_text(ME_TextEditor *editor, FORMATETC *fmt, STGMEDIUM *med) return hr; } +static HRESULT paste_emf(ME_TextEditor *editor, FORMATETC *fmt, STGMEDIUM *med) +{ + HRESULT hr; + SIZEL sz = {0, 0}; + + hr = insert_static_object( editor, med->u.hEnhMetaFile, NULL, &sz ); + if (SUCCEEDED(hr)) + { + ME_CommitUndo( editor ); + ME_UpdateRepaint( editor, FALSE ); + } + else + ReleaseStgMedium( med ); + + return hr; +} + static struct paste_format { FORMATETC fmt; @@ -2250,6 +2267,7 @@ static struct paste_format { {{ -1, NULL, DVASPECT_CONTENT, -1, TYMED_HGLOBAL }, paste_rtf, rtfW }, {{ CF_UNICODETEXT, NULL, DVASPECT_CONTENT, -1, TYMED_HGLOBAL }, paste_text }, + {{ CF_ENHMETAFILE, NULL, DVASPECT_CONTENT, -1, TYMED_ENHMF }, paste_emf }, {{ 0 }} };