- k.string = new wxChar[wxStrlen(key) + 1];
- wxStrcpy(k.string, key);
- m_map[k] = data;
+ k.string = (wxChar*)key;
+ wxHashTableBaseBase::iterator it = m_map.find(k);
+
+ if( it == m_map.end() )
+ {
+ k.string = new wxChar[wxStrlen(key) + 1];
+ wxStrcpy(k.string, key);
+ m_map[k] = data;
+ }
+ else
+ it->second = data;