summaryrefslogtreecommitdiff
path: root/svx/source
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2011-02-11 12:43:31 +0000
committerCaolán McNamara <caolanm@redhat.com>2011-02-11 12:43:31 +0000
commitb4ff953aa84b53ef801ad934bbbf2763ae063d4b (patch)
tree8f57896eecdc7ae5dc3d2e80cbe02d49eb59e9fe /svx/source
parent947c2ac8e074bad392a0b0f21e3402c38a344ed5 (diff)
(std|boost)::hash on a const char* hashes the pointer not the contents
Diffstat (limited to 'svx/source')
-rw-r--r--svx/source/customshapes/EnhancedCustomShapeTypeNames.cxx9
1 files changed, 8 insertions, 1 deletions
diff --git a/svx/source/customshapes/EnhancedCustomShapeTypeNames.cxx b/svx/source/customshapes/EnhancedCustomShapeTypeNames.cxx
index 0667dff6d29a..66cf3d3aec49 100644
--- a/svx/source/customshapes/EnhancedCustomShapeTypeNames.cxx
+++ b/svx/source/customshapes/EnhancedCustomShapeTypeNames.cxx
@@ -32,6 +32,13 @@
#include <osl/mutex.hxx>
#include <boost/unordered_map.hpp>
+struct THash
+{
+ size_t operator()( const char* s ) const
+ {
+ return rtl_str_hashCode(s);
+ }
+};
struct TCheck
{
bool operator()( const char* s1, const char* s2 ) const
@@ -39,7 +46,7 @@ struct TCheck
return strcmp( s1, s2 ) == 0;
}
};
-typedef boost::unordered_map< const char*, MSO_SPT, boost::hash<const char*>, TCheck> TypeNameHashMap;
+typedef boost::unordered_map< const char*, MSO_SPT, THash, TCheck> TypeNameHashMap;
static TypeNameHashMap* pHashMap = NULL;
static ::osl::Mutex& getHashMapMutex()
{