Le 20/03/15 21:53, Georg Baum a écrit :
The real cause for the bug is that ArgumentProxy::mathMacro_ is a reference to an object which is stored in a MathData, which is a std::vector storing MathAtoms by value (not pointers). Therefore, each time when the MathData object which contains a math macro instance is resized, the ArgumentProxy::mathMacro_ members of its arguments may become invalid. In case of bug 9418 the resizing happens because only macro \a is copied to the clipboard, and macro \b is not, therefore \b is converted to an unknown inset and its argument is put as a separate inset after \b.
What about using a std::list or our own RandomAccessList instead of std::vector?
JMarc