X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/bd83cb56d29385e2a87840eeb3876b976a5afc43..5541d1fda4b73af86e42b2f43724f0c063a352d0:/src/common/hash.cpp diff --git a/src/common/hash.cpp b/src/common/hash.cpp index 09e9b42d13..1c268e7c97 100644 --- a/src/common/hash.cpp +++ b/src/common/hash.cpp @@ -143,6 +143,11 @@ void wxHashTableLong::Init(size_t size) m_count = 0; } +void wxHashTableLong::Create(size_t size) +{ + Init(size); +} + void wxHashTableLong::Destroy() { for ( size_t n = 0; n < m_hashSize; n++ ) @@ -365,6 +370,7 @@ bool wxHashTable::Create(int the_key_type, int size) void wxHashTable::DoCopy(const wxHashTable& table) { n = table.n; + m_count = table.m_count; current_position = table.current_position; current_node = NULL; // doesn't matter - Next() will reconstruct it key_type = table.key_type; @@ -408,7 +414,7 @@ void wxHashTable::Put (long key, const wxChar *value, wxObject * object) if (!hash_table[position]) { - hash_table[position] = new wxList (wxKEY_INTEGER); + hash_table[position] = new wxList (wxKEY_STRING); if (m_deleteContents) hash_table[position]->DeleteContents(TRUE); } @@ -676,11 +682,14 @@ void wxHashTable::DeleteContents (bool flag) void wxHashTable::Clear () { - int i; - for (i = 0; i < n; i++) + int i; + if (hash_table) { - if (hash_table[i]) - hash_table[i]->Clear (); + for (i = 0; i < n; i++) + { + if (hash_table[i]) + hash_table[i]->Clear (); + } } m_count = 0; }