Browse Source

Fix SharedString loading bug

master
Debao Zhang 11 years ago
parent
commit
81d17478f6
  1. 6
      src/xlsx/xlsxsharedstrings.cpp
  2. 2
      tests/auto/sharedstrings/tst_sharedstringstest.cpp

6
src/xlsx/xlsxsharedstrings.cpp

@ -161,10 +161,10 @@ QSharedPointer<SharedStrings> SharedStrings::loadFromXmlFile(QIODevice *device)
} else if (reader.name() == QLatin1String("si")) { } else if (reader.name() == QLatin1String("si")) {
if (reader.readNextStartElement()) { if (reader.readNextStartElement()) {
if (reader.name() == QLatin1String("t")) { if (reader.name() == QLatin1String("t")) {
QXmlStreamAttributes attributes = reader.attributes(); // QXmlStreamAttributes attributes = reader.attributes();
QString string = reader.readElementText(); QString string = reader.readElementText();
int idx = sst->m_stringList.size();
sst->m_stringTable[string] = XlsxSharedStringInfo(sst->m_stringTable.size(), 0); sst->m_stringTable[string] = XlsxSharedStringInfo(idx, 0);
sst->m_stringList.append(string); sst->m_stringList.append(string);
} }
} }

2
tests/auto/sharedstrings/tst_sharedstringstest.cpp

@ -96,6 +96,8 @@ void SharedStringsTest::testLoadXmlData()
QCOMPARE(sst2->getSharedString(0), QStringLiteral("Hello Qt!")); QCOMPARE(sst2->getSharedString(0), QStringLiteral("Hello Qt!"));
QCOMPARE(sst2->getSharedString(2), QStringLiteral("Hello World")); QCOMPARE(sst2->getSharedString(2), QStringLiteral("Hello World"));
QCOMPARE(sst2->getSharedStringIndex("Hello Qt!"), 0);
QCOMPARE(sst2->getSharedStringIndex("Hello World"), 2);
} }
QTEST_APPLESS_MAIN(SharedStringsTest) QTEST_APPLESS_MAIN(SharedStringsTest)

Loading…
Cancel
Save