src/lib/CDRParser.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-)
New commits: commit 528018f253d8e01cd5507eed1b3f852346887a5f Author: Fridrich Štrba <fridrich.st...@bluewin.ch> AuthorDate: Mon Mar 22 11:47:35 2021 +0100 Commit: Fridrich Štrba <fridrich.st...@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 { _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits