MCUndonode::~MCUndonode() { object->freeundo(savedata); switch (savedata->type) { case UT_DELETE: delete object; break; case UT_DELETE_TEXT: case UT_REPLACE_TEXT: case UT_TYPE_TEXT: case UT_MOVE_TEXT: { MCParagraph *pgptr = (MCParagraph *)savedata->ud.text.data; while (pgptr != NULL) { MCParagraph *tpgptr = pgptr->remove (pgptr); delete tpgptr; } } break; default: break; } delete savedata; }
MCCdata::~MCCdata() { if (data != NULL && data != (void *)1) { if (id & COMPACT_PARAGRAPHS) delete (char *)data; else { MCParagraph *paragraphs = (MCParagraph *)data; while (paragraphs != NULL) { MCParagraph *pptr = (MCParagraph *)paragraphs->remove (paragraphs); delete pptr; } } } }