X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2FMacroTable.cpp;h=60fd5683491a79ae60e6854eeda2c98f30466984;hb=efaae780dbbe3685e26e040ed4255e5abf268106;hp=20a713a513e15e1d3af377282e4cfe63d359cfe5;hpb=a70e21a34e36f9e4caeacaa065cfdfc02bff86c3;p=lyx.git diff --git a/src/mathed/MacroTable.cpp b/src/mathed/MacroTable.cpp index 20a713a513..60fd568349 100644 --- a/src/mathed/MacroTable.cpp +++ b/src/mathed/MacroTable.cpp @@ -191,20 +191,28 @@ MacroData const * MacroTable::get(docstring const & name) const } -void MacroTable::insert(docstring const & name, MacroData const & data) +MacroTable::iterator +MacroTable::insert(docstring const & name, MacroData const & data) { //lyxerr << "MacroTable::insert: " << to_utf8(name) << endl; - operator[](name) = data; + iterator it = find(name); + if (it == end()) + it = map::insert( + make_pair(name, data)).first; + else + it->second = data; + return it; } -void MacroTable::insert(Buffer * buf, docstring const & def, string const & requires) +MacroTable::iterator +MacroTable::insert(Buffer * buf, docstring const & def, string const & requires) { //lyxerr << "MacroTable::insert, def: " << to_utf8(def) << endl; MathMacroTemplate mac(buf, def); MacroData data(buf, mac); data.requires() = requires; - insert(mac.name(), data); + return insert(mac.name(), data); }