From 81d17478f6244ec5a7dc56356d1bf6a9a4c9bd0b Mon Sep 17 00:00:00 2001 From: Debao Zhang Date: Sat, 2 Nov 2013 21:27:36 +0800 Subject: [PATCH] Fix SharedString loading bug --- src/xlsx/xlsxsharedstrings.cpp | 6 +++--- tests/auto/sharedstrings/tst_sharedstringstest.cpp | 2 ++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/xlsx/xlsxsharedstrings.cpp b/src/xlsx/xlsxsharedstrings.cpp index 8f913a3..25c51a1 100755 --- a/src/xlsx/xlsxsharedstrings.cpp +++ b/src/xlsx/xlsxsharedstrings.cpp @@ -161,10 +161,10 @@ QSharedPointer SharedStrings::loadFromXmlFile(QIODevice *device) } else if (reader.name() == QLatin1String("si")) { if (reader.readNextStartElement()) { if (reader.name() == QLatin1String("t")) { - QXmlStreamAttributes attributes = reader.attributes(); +// QXmlStreamAttributes attributes = reader.attributes(); QString string = reader.readElementText(); - - sst->m_stringTable[string] = XlsxSharedStringInfo(sst->m_stringTable.size(), 0); + int idx = sst->m_stringList.size(); + sst->m_stringTable[string] = XlsxSharedStringInfo(idx, 0); sst->m_stringList.append(string); } } diff --git a/tests/auto/sharedstrings/tst_sharedstringstest.cpp b/tests/auto/sharedstrings/tst_sharedstringstest.cpp index ac3aa79..e08aac6 100644 --- a/tests/auto/sharedstrings/tst_sharedstringstest.cpp +++ b/tests/auto/sharedstrings/tst_sharedstringstest.cpp @@ -96,6 +96,8 @@ void SharedStringsTest::testLoadXmlData() QCOMPARE(sst2->getSharedString(0), QStringLiteral("Hello Qt!")); QCOMPARE(sst2->getSharedString(2), QStringLiteral("Hello World")); + QCOMPARE(sst2->getSharedStringIndex("Hello Qt!"), 0); + QCOMPARE(sst2->getSharedStringIndex("Hello World"), 2); } QTEST_APPLESS_MAIN(SharedStringsTest)