[Libreoffice-commits] .: writerfilter/source
Miklos Vajna
vmiklos at kemper.freedesktop.org
Wed Feb 22 08:13:24 PST 2012
writerfilter/source/rtftok/rtfdocumentimpl.cxx | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
New commits:
commit 0915f1b3d77afa694a2ca692aec307846827da99
Author: Miklos Vajna <vmiklos at suse.cz>
Date: Wed Feb 22 17:06:18 2012 +0100
fdo#42465 fix RTF import of unicode characters with backwards compatibility
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
index 581f912..f293bf6 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
@@ -732,6 +732,7 @@ int RTFDocumentImpl::resolveChars(char ch)
OStringBuffer aBuf;
bool bUnicodeChecked = false;
+ bool bSkipped = false;
while(!Strm().IsEof() && ch != '{' && ch != '}' && ch != '\\')
{
if (ch != 0x0d && ch != 0x0a)
@@ -746,7 +747,10 @@ int RTFDocumentImpl::resolveChars(char ch)
aBuf.append(ch);
}
else
+ {
+ bSkipped = true;
m_aStates.top().nCharsToSkip--;
+ }
}
// read a single char if we're in hex mode
if (m_aStates.top().nInternalState == INTERNAL_HEX)
@@ -758,7 +762,8 @@ int RTFDocumentImpl::resolveChars(char ch)
if (m_aStates.top().nInternalState == INTERNAL_HEX)
{
- m_aHexBuffer.append(ch);
+ if (!bSkipped)
+ m_aHexBuffer.append(ch);
return 0;
}
More information about the Libreoffice-commits
mailing list