src/lib/VSD5Parser.cpp |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

New commits:
commit d60a59e48a483edc19a3f92c9a9cdd124887fdb8
Author:     Bartosz Kosiorek <[email protected]>
AuthorDate: Wed Oct 16 19:11:05 2024 +0200
Commit:     Bartosz Kosiorek <[email protected]>
CommitDate: Thu Oct 17 21:49:27 2024 +0200

    Visio5 support: privide cellType to collector in readTextField
    
    Change-Id: I80454e5b8e3fb1d1c8377391cb60d58ada0af5cc
    Reviewed-on: https://gerrit.libreoffice.org/c/libvisio/+/175101
    Tested-by: Bartosz Kosiorek <[email protected]>
    Reviewed-by: Bartosz Kosiorek <[email protected]>

diff --git a/src/lib/VSD5Parser.cpp b/src/lib/VSD5Parser.cpp
index e702f89..e651d0d 100644
--- a/src/lib/VSD5Parser.cpp
+++ b/src/lib/VSD5Parser.cpp
@@ -456,7 +456,8 @@ void 
libvisio::VSD5Parser::readTextBlock(librevenge::RVNGInputStream *input)
 void libvisio::VSD5Parser::readTextField(librevenge::RVNGInputStream *input)
 {
   input->seek(3, librevenge::RVNG_SEEK_CUR);
-  if (0xe8 == readU8(input))
+  unsigned char cellType = readU8(input);
+  if (CELL_TYPE_StringWithoutUnit == cellType)
   {
     int nameId = readS16(input);
     m_shape.m_fields.addTextField(m_header.id, m_header.level, nameId, 0xffff);
@@ -464,7 +465,7 @@ void 
libvisio::VSD5Parser::readTextField(librevenge::RVNGInputStream *input)
   else
   {
     double numericValue = readDouble(input);
-    m_shape.m_fields.addNumericField(m_header.id, m_header.level, 
VSD_FIELD_FORMAT_Unknown, CELL_TYPE_NoCast, numericValue, 0xffff);
+    m_shape.m_fields.addNumericField(m_header.id, m_header.level, 
VSD_FIELD_FORMAT_Unknown, cellType, numericValue, 0xffff);
   }
 }
 

Reply via email to