App: change main StringHasher storage policy
Only save to XML if asked explicitly
This commit is contained in:
@@ -1724,10 +1724,10 @@ void Document::Save (Base::Writer &writer) const
|
||||
|
||||
writer.incInd();
|
||||
|
||||
// NOTE: DO NOT save the main string hasher as separate file, because it is
|
||||
// required by many objects, which assume the string hasher is fully
|
||||
// restored.
|
||||
d->Hasher->setPersistenceFileName(0);
|
||||
if (writer.isForceXML())
|
||||
d->Hasher->setPersistenceFileName(0);
|
||||
else
|
||||
d->Hasher->setPersistenceFileName("StringHasher.Table");
|
||||
|
||||
for (auto o : d->objectArray)
|
||||
o->beforeSave();
|
||||
|
||||
@@ -405,7 +405,7 @@ void StringHasher::Save(Base::Writer &writer) const {
|
||||
|
||||
void StringHasher::SaveDocFile (Base::Writer &writer) const {
|
||||
std::size_t count = _hashes->SaveAll?this->size():this->count();
|
||||
writer.Stream() << count << '\n';
|
||||
writer.Stream() << "StringTableStart v1 " << count << '\n';
|
||||
saveStream(writer.Stream());
|
||||
}
|
||||
|
||||
@@ -515,7 +515,7 @@ void StringHasher::RestoreDocFile (Base::Reader &reader) {
|
||||
restoreStreamNew(reader, count);
|
||||
return;
|
||||
}
|
||||
reader >> count;
|
||||
count = atoi(marker.c_str());
|
||||
restoreStream(reader,count);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user