summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@suse.cz>2012-11-05 16:35:59 +0100
committerPetr Mladek <pmladek@suse.cz>2012-11-07 11:13:18 +0100
commit2c4d2554726c666ac8dda929204fcda74b084a01 (patch)
tree63ef9139033f23bb9ecf8bfd2bb99ec4580797f0
parent97e6aa6a8f2d7ce486197da03d1711f946562d14 (diff)
fdo#52989 ignore provided size of JPEG files during RTF import
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 <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r--writerfilter/source/rtftok/rtfdocumentimpl.cxx7
-rw-r--r--writerfilter/source/rtftok/rtfdocumentimpl.hxx3
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