diff --git a/source/blender/include/BIF_editmode_undo.h b/source/blender/include/BIF_editmode_undo.h index 6ceaaab7864..b03b4160166 100644 --- a/source/blender/include/BIF_editmode_undo.h +++ b/source/blender/include/BIF_editmode_undo.h @@ -52,7 +52,8 @@ extern void undo_editmode_menu(void); // history menu extern struct uiBlock *editmode_undohistorymenu(void *arg_unused); /* Hack to avoid multires undo data taking up insane amounts of memory */ -void *undo_editmode_get_prev(); +struct Object; +void *undo_editmode_get_prev(struct Object *ob); #endif diff --git a/source/blender/src/editmesh.c b/source/blender/src/editmesh.c index a71c70e0f91..cddeda5aa10 100644 --- a/source/blender/src/editmesh.c +++ b/source/blender/src/editmesh.c @@ -1918,7 +1918,7 @@ static void *editMesh_to_undoMesh(void) { Multires *mr= get_mesh(G.obedit)->mr; - UndoMesh *prev= undo_editmode_get_prev(); + UndoMesh *prev= undo_editmode_get_prev(G.obedit); um->mru= NULL; diff --git a/source/blender/src/editmode_undo.c b/source/blender/src/editmode_undo.c index 97ad4008f4d..a67a759374d 100644 --- a/source/blender/src/editmode_undo.c +++ b/source/blender/src/editmode_undo.c @@ -340,9 +340,9 @@ uiBlock *editmode_undohistorymenu(void *arg_unused) return block; } -void *undo_editmode_get_prev() +void *undo_editmode_get_prev(Object *ob) { UndoElem *ue= undobase.last; - if(ue && ue->prev) return ue->prev->undodata; + if(ue && ue->prev && ue->prev==ob) return ue->prev->undodata; return NULL; }