#include "support/textutils.h"
#include <map>
+#include <QThreadStorage>
using namespace std;
using namespace lyx::support;
docstring content;
- // FIXME THREAD
typedef map<docstring, docstring> MangledMap;
- static MangledMap mangledNames;
- static int mangleID = 1;
+ static QThreadStorage<MangledMap> tMangledNames;
+ static QThreadStorage<int> tMangleID;
+
+ MangledMap & mangledNames = tMangledNames.localData();
MangledMap::const_iterator const known = mangledNames.find(orig);
if (known != mangledNames.end())
}
}
- if (mangle)
+ if (mangle) {
+ int & mangleID = tMangleID.localData();
content += "-" + convert<docstring>(mangleID++);
- else if (isDigitASCII(content[content.size() - 1]))
+ } else if (isDigitASCII(content[content.size() - 1]))
content += ".";
mangledNames[orig] = content;