Bug, reported by Bassam;

When editing Meshes with vertex keys (RVKs), the undo stack isn't
updated correctly, causing a loss of the situation when entering
editmode after changing active key, and doing undo immediate after.

This due to an 'optimizer' in the undo code that tried to prevent undos
pushed on identical situations (e.g. pressing TAB multiple times).
Decided to remove that convention, the annoyance of having possible
multiple undos in a row isn't worth solving it by potential losses.
This commit is contained in:
Ton Roosendaal 2004-12-12 19:06:04 +00:00
parent f48b4f5b4a
commit d422cbb544

@ -132,12 +132,9 @@ void undo_editmode_push(char *name, void (*freedata)(void *),
UndoElem *uel;
int nr;
/* prevent two same undocalls */
if(curundo && strcmp("Original", name)==0) {
if( curundo->ob==G.obedit && curundo->type==G.obedit->type) {
return;
}
}
/* at first here was code to prevent an "original" key to be insterted twice
this was giving conflicts for example when mesh changed due to keys or apply */
/* remove all undos after (also when curundo==NULL) */
while(undobase.last != curundo) {
uel= undobase.last;