Generating a unique int ID seems to be faulty in many places in AbiWord.
The general method is to use the result from UT_rand() and hope that it is
unique. I recently modified the RTF importer with a different method:
using a static member variable.
I hope the construct is portable to all platforms.
Here is what it looks like:
-------- NeedToIncrement.h-----------------
class NeedToIncrement
{
static UT_uint32 m_incrementer;
UT_uint32 m_ID;
}
-----------------------------------------
--------NeedToIncrement.cpp---------------
NeedToImcrement::NeedToIncrement()
{
m_ID = m_incrementer++;
}
// Static data members must be initialized at file scope.
UT_uint32 NeedToImcrement::m_incrementer = 100;
-------------------------------------------
Any comments?
Matti