Fix #22694: rendering exits editmode. Problem was due to incorrect fix for
authorBrecht Van Lommel <brechtvanlommel@pandora.be>
Mon, 5 Jul 2010 12:52:47 +0000 (12:52 +0000)
committerBrecht Van Lommel <brechtvanlommel@pandora.be>
Mon, 5 Jul 2010 12:52:47 +0000 (12:52 +0000)
bug #20091 in revision 24989, crash when rendering in metaball editmode.

source/blender/editors/metaball/mball_edit.c
source/blender/editors/render/render_internal.c

index d937b717ee19934f4ef690e3ac8d8bbaed47797d..11534f57f7505b819a459f1f0a697d3971a42d06 100644 (file)
 /* This function is used to free all MetaElems from MetaBall */
 void free_editMball(Object *obedit)
 {
 /* This function is used to free all MetaElems from MetaBall */
 void free_editMball(Object *obedit)
 {
+       MetaBall *mb = (MetaBall*)obedit->data;
+
+       mb->editelems= NULL;
+       mb->lastelem= NULL;
 }
 
 /* This function is called, when MetaBall Object is
 }
 
 /* This function is called, when MetaBall Object is
@@ -84,10 +88,6 @@ void make_editMball(Object *obedit)
  * from object->data->edit_elems to object->data->elems. */
 void load_editMball(Object *obedit)
 {
  * from object->data->edit_elems to object->data->elems. */
 void load_editMball(Object *obedit)
 {
-       MetaBall *mb = (MetaBall*)obedit->data;
-       
-       mb->editelems= NULL;
-       mb->lastelem= NULL;
 }
 
 /* Add metaelem primitive to metaball object (which is in edit mode) */
 }
 
 /* Add metaelem primitive to metaball object (which is in edit mode) */
index 8f4b02b8d64228d9a429dc6a0f6642fa2b6234a7..7110c3aa7a7588e1d65f2fc8965d82688757273d 100644 (file)
@@ -637,7 +637,7 @@ static int screen_render_invoke(bContext *C, wmOperator *op, wmEvent *event)
        multires_force_render_update(CTX_data_active_object(C));
 
        /* get editmode results */
        multires_force_render_update(CTX_data_active_object(C));
 
        /* get editmode results */
-       ED_object_exit_editmode(C, EM_FREEDATA|EM_DO_UNDO);     /* 0 = does not exit editmode */
+       ED_object_exit_editmode(C, 0);  /* 0 = does not exit editmode */
 
        // store spare
        // get view3d layer, local layer, make this nice api call to render
 
        // store spare
        // get view3d layer, local layer, make this nice api call to render