You may also try to experiment with temporarily blocking Undo operation while leaving everything else as is.
/*------------------------------------+
| Name: blockUndoCallback CALLBACK |
+------------------------------------*/
Private void blockUndoCallback
(
MSElementDescr *newEdP, /* => */
MSElementDescr *oldEdP, /* => */
ChangeTrackInfo *infoP, /* => */
boolean *cantBeUndoneP /* <> */
)
{
*cantBeUndoneP = TRUE;
}
/*-----------------------------------+
| Name: disableUndo |
+-----------------------------------*/
Public void disableUndo
(
void
)
{
mdlChangeTrack_setFunction ( CHANGE_TRACK_FUNC_Changed, blockUndoCallback );
}