MS Office writes the EmrFormat.Version field as 0 in the EMR_COMMENT_MULTIFORMATS record carrying an embedded PDF. Per [MS-EMF] 2.3.3.4.2 EmrFormat, Version MUST be 0x00000001 only when Signature == EPS_SIGNATURE; for any other signature it MUST be ignored. The reader rejected anything but 1, so the embedded PDF was dropped on the floor. Real-world files also use an empty OutputRect (0,0,0,0); per [MS-EMF] 2.3.3.4.3 it is in logical coordinates, so fall back to the EMF's logical bounds (mrclBounds) when it is degenerate, so ResolveBitmapActions has somewhere to draw the PDF bitmap. The new fixture is the existing pdf-in-emf.pptx EMF with the two fields patched to reproduce the regression in 776 bytes. Signed-off-by: Andras Timar <andras.timar@collabora.com> Change-Id: I432f75a1cac11d84448db07c1a1815cd0be60744 Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/1904 Tested-by: Jenkins CPCI <releng@collaboraoffice.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com> (cherry picked from commit a5d7b2935718bf7f1f6cc0352c8d8681e6713f4b) Cherry-pick note: the test fails on macOS in CI Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205084 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
776 B
776 B