[Libreoffice-commits] libcdr.git: src/lib
Libreoffice Gerrit user
logerrit at kemper.freedesktop.org
Mon Mar 22 10:48:00 UTC 2021
src/lib/CDRParser.cpp | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
New commits:
commit 528018f253d8e01cd5507eed1b3f852346887a5f
Author: Fridrich Štrba <fridrich.strba at bluewin.ch>
AuthorDate: Mon Mar 22 11:47:35 2021 +0100
Commit: Fridrich Štrba <fridrich.strba at bluewin.ch>
CommitDate: Mon Mar 22 11:47:35 2021 +0100
A possible fix of multi-paragraph text in frame
Change-Id: I8a6a455b2dd57b9aa0d2fa3a0e3298f623f1586d
diff --git a/src/lib/CDRParser.cpp b/src/lib/CDRParser.cpp
index ca881fc..36b6aff 100644
--- a/src/lib/CDRParser.cpp
+++ b/src/lib/CDRParser.cpp
@@ -2631,7 +2631,9 @@ void libcdr::CDRParser::readTxsm16(librevenge::RVNGInputStream *input)
{
#endif
unsigned frameFlag = readU32(input);
- input->seek(41, librevenge::RVNG_SEEK_CUR);
+ input->seek(37, librevenge::RVNG_SEEK_CUR);
+
+ unsigned numFrame = readU32(input);
unsigned textId = readU32(input);
@@ -2643,6 +2645,17 @@ void libcdr::CDRParser::readTxsm16(librevenge::RVNGInputStream *input)
if (m_version < 1700)
tlen *= 2;
input->seek(tlen, librevenge::RVNG_SEEK_CUR);
+ if (numFrame > 1)
+ {
+ for (unsigned i = 0; i < numFrame-1; i++)
+ {
+ input->seek(80, librevenge::RVNG_SEEK_CUR);
+ tlen = readU32(input);
+ if (m_version < 1700)
+ tlen *= 2;
+ input->seek(tlen, librevenge::RVNG_SEEK_CUR);
+ }
+ }
}
else
{
More information about the Libreoffice-commits
mailing list