Problem with pointers memory allocation on the same memory area
-
Hello, We use a third party library for our grids. Each grid cell has a style, one member of which is the font:
class CLibStyle
{
[...]
CLibFont m_pFont;
[...]
};During serialization in the library methods, the font is managed as follows:
ar >> m_pFont;
For our part, we deserialize the styles line by line, column by column, then storing them in a map to use them later:
CLibStyle * pStyle = NULL;
for (int nNumRow = 0; nNumRow ++; nNumRow Serialize(ar);
mapStyle->AddTail(pStyle);
}So far it's very basic but this is where we have a big problem because it happens that this deserialization, as simple as it is, allocates pointers m_pFont on the same memory areas from one loop to another. With the same archive file, this problem does not necessarily arise depending on whether you are in Debug or in Release, or even differs from one PC to another. :~ Afterwards, we inevitably have problems even if the pointers are destroyed ... Any ideas for ensuring that pointers are not allocated on the same memory range?