From 2bccaecfb4f9b31964bc8789c3bd5d7080bfc4d9 Mon Sep 17 00:00:00 2001 From: Miklos Vajna Date: Mon, 5 Nov 2012 16:35:59 +0100 Subject: fdo#52989 ignore provided size of JPEG files during RTF import MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit See commit 66fa759b for rationale, this fix just does the same for JPEG files as well. (cherry picked from commit ebc61e11cdb02f5cc33aeabead3d191eaf0d23d3) Conflicts: sw/qa/extras/rtfimport/rtfimport.cxx Change-Id: I6a9ead5f4b4b9c4661cae99501bd7c14a2a79409 Reviewed-on: https://gerrit.libreoffice.org/991 Reviewed-by: Caolán McNamara Tested-by: Caolán McNamara --- writerfilter/source/rtftok/rtfdocumentimpl.cxx | 7 +++++-- writerfilter/source/rtftok/rtfdocumentimpl.hxx | 3 ++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx index dbaa6e5fc0ca..b84e303dacbc 100644 --- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx +++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx @@ -640,9 +640,9 @@ int RTFDocumentImpl::resolvePict(bool bInline) aExtHeader.yExt = m_aStates.top().aPicture.nHeight; OUString aGraphicUrl = m_pGraphicHelper->importGraphicObject(xInputStream, &aExtHeader); - if (m_aStates.top().aPicture.nStyle == BMPSTYLE_PNG) + if (m_aStates.top().aPicture.nStyle != BMPSTYLE_NONE) { - // In case of PNG, the real size is known, don't use the values + // In case of PNG/JPEG, the real size is known, don't use the values // provided by picw and pich. OString aURLBS(OUStringToOString(aGraphicUrl, RTL_TEXTENCODING_UTF8)); const char aURLBegin[] = "vnd.sun.star.GraphicObject:"; @@ -2140,6 +2140,9 @@ int RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword) case RTF_PNGBLIP: m_aStates.top().aPicture.nStyle = BMPSTYLE_PNG; break; + case RTF_JPEGBLIP: + m_aStates.top().aPicture.nStyle = BMPSTYLE_JPEG; + break; case RTF_POSYT: m_aStates.top().aFrame.setSprm(NS_ooxml::LN_CT_FramePr_yAlign, NS_ooxml::LN_Value_wordprocessingml_ST_YAlign_top); break; case RTF_POSYB: m_aStates.top().aFrame.setSprm(NS_ooxml::LN_CT_FramePr_yAlign, NS_ooxml::LN_Value_wordprocessingml_ST_YAlign_bottom); break; case RTF_POSYC: m_aStates.top().aFrame.setSprm(NS_ooxml::LN_CT_FramePr_yAlign, NS_ooxml::LN_Value_wordprocessingml_ST_YAlign_center); break; diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.hxx b/writerfilter/source/rtftok/rtfdocumentimpl.hxx index 6d34e8ba2904..6c0608fb7ca7 100644 --- a/writerfilter/source/rtftok/rtfdocumentimpl.hxx +++ b/writerfilter/source/rtftok/rtfdocumentimpl.hxx @@ -163,7 +163,8 @@ namespace writerfilter { enum RTFBmpStyles { BMPSTYLE_NONE, - BMPSTYLE_PNG + BMPSTYLE_PNG, + BMPSTYLE_JPEG }; enum RTFFieldStatus -- cgit v1.2.3