summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/pugixml.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/pugixml.cpp b/src/pugixml.cpp
index 0510afa..600a223 100644
--- a/src/pugixml.cpp
+++ b/src/pugixml.cpp
@@ -1119,9 +1119,6 @@ PUGI__NS_BEGIN
{
xml_document_struct(xml_memory_page* page): xml_node_struct(page, node_document), xml_allocator(page), buffer(0), extra_buffers(0)
{
- #ifdef PUGIXML_COMPACT
- _hash = &hash;
- #endif
}
const char_t* buffer;
@@ -6861,6 +6858,11 @@ namespace pugi
// setup sentinel page
page->allocator = static_cast<impl::xml_document_struct*>(_root);
+ // setup hash table pointer in allocator
+ #ifdef PUGIXML_COMPACT
+ page->allocator->_hash = &static_cast<impl::xml_document_struct*>(_root)->hash;
+ #endif
+
// verify the document allocation
assert(reinterpret_cast<char*>(_root) + sizeof(impl::xml_document_struct) <= _memory + sizeof(_memory));
}