Kaydet (Commit) 1b9c3a17 authored tarafından Stephan Bergmann's avatar Stephan Bergmann

Revert "Simplify MultiAtomProvider::getString"

This reverts commit 625c93a8,
causes problems in (Linux-only) callers.
üst 02d87840
...@@ -47,7 +47,7 @@ namespace utl { ...@@ -47,7 +47,7 @@ namespace utl {
~AtomProvider(); ~AtomProvider();
int getAtom( const OUString&, bool bCreate = false ); int getAtom( const OUString&, bool bCreate = false );
OUString getString( int ) const; const OUString& getString( int ) const;
}; };
class UNOTOOLS_DLLPUBLIC MultiAtomProvider class UNOTOOLS_DLLPUBLIC MultiAtomProvider
...@@ -59,7 +59,7 @@ namespace utl { ...@@ -59,7 +59,7 @@ namespace utl {
int getAtom( int atomClass, const OUString& rString, bool bCreate = false ); int getAtom( int atomClass, const OUString& rString, bool bCreate = false );
OUString getString( int atomClass, int atom ) const; const OUString& getString( int atomClass, int atom ) const;
}; };
} }
......
...@@ -45,11 +45,12 @@ int AtomProvider::getAtom( const OUString& rString, bool bCreate ) ...@@ -45,11 +45,12 @@ int AtomProvider::getAtom( const OUString& rString, bool bCreate )
return m_nAtoms-1; return m_nAtoms-1;
} }
OUString AtomProvider::getString( int nAtom ) const const OUString& AtomProvider::getString( int nAtom ) const
{ {
static OUString aEmpty;
std::unordered_map<int, OUString>::const_iterator it = m_aStringMap.find( nAtom ); std::unordered_map<int, OUString>::const_iterator it = m_aStringMap.find( nAtom );
return it == m_aStringMap.end() ? OUString() : it->second; return it == m_aStringMap.end() ? aEmpty : it->second;
} }
MultiAtomProvider::MultiAtomProvider() MultiAtomProvider::MultiAtomProvider()
...@@ -78,14 +79,15 @@ int MultiAtomProvider::getAtom( int atomClass, const OUString& rString, bool bCr ...@@ -78,14 +79,15 @@ int MultiAtomProvider::getAtom( int atomClass, const OUString& rString, bool bCr
return INVALID_ATOM; return INVALID_ATOM;
} }
OUString MultiAtomProvider::getString( int atomClass, int atom ) const const OUString& MultiAtomProvider::getString( int atomClass, int atom ) const
{ {
std::unordered_map<int, AtomProvider*>::const_iterator it = std::unordered_map<int, AtomProvider*>::const_iterator it =
m_aAtomLists.find( atomClass ); m_aAtomLists.find( atomClass );
if( it != m_aAtomLists.end() ) if( it != m_aAtomLists.end() )
return it->second->getString( atom ); return it->second->getString( atom );
return OUString(); static OUString aEmpty;
return aEmpty;
} }
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment