void MCUndolist::savestate(MCObject *objptr, Ustruct *us) { MCUndonode *uptr = new (nothrow) MCUndonode(objptr, us); uptr->appendto(nodes); if (MCdefaultstackptr) MCdefaultstackptr->getcurcard()->message(MCM_undo_changed); }
void MCUndolist::freeobject(MCObject *objptr) { if (nodes != NULL) { MCUndonode *uptr = nodes; do { if (uptr->getobject() == objptr) { uptr->remove (nodes); delete uptr; return; } uptr = uptr->next(); } while (uptr != nodes); } }
void MCUndolist::savestate(MCObject *objptr, Ustruct *us) { MCUndonode *uptr = new MCUndonode(objptr, us); uptr->appendto(nodes); objptr->message(MCM_undo_changed); }