Commit: 405cab9663db702340f9a3870fa2c89fe24f0b50
Author: Sergey Sharybin
Date:   Thu Jan 9 23:11:50 2014 +0600
https://developer.blender.org/rB405cab9663db702340f9a3870fa2c89fe24f0b50

Remove direct displist creation from object conversion

If the object is visible and editable it means there's no
way DAG to fail to create needed display lists.

===================================================================

M       source/blender/editors/object/object_add.c

===================================================================

diff --git a/source/blender/editors/object/object_add.c 
b/source/blender/editors/object/object_add.c
index efeed0f..1d72eb5 100644
--- a/source/blender/editors/object/object_add.c
+++ b/source/blender/editors/object/object_add.c
@@ -1415,10 +1415,9 @@ static EnumPropertyItem convert_target_items[] = {
        {0, NULL, 0, NULL, NULL}
 };
 
-static void curvetomesh(Scene *scene, Object *ob) 
+static void curvetomesh(Object *ob) 
 {
-       if (ELEM(NULL, ob->curve_cache, ob->curve_cache->disp.first))
-               BKE_displist_make_curveTypes(scene, ob, 0);  /* force creation 
*/
+       BLI_assert(ob->curve_cache != NULL);
 
        BKE_mesh_from_nurbs(ob); /* also does users */
 
@@ -1630,7 +1629,7 @@ static int convert_exec(bContext *C, wmOperator *op)
                        BKE_curve_curve_dimension_update(cu);
 
                        if (target == OB_MESH) {
-                               curvetomesh(scene, newob);
+                               curvetomesh(newob);
 
                                /* meshes doesn't use displist */
                                BKE_object_free_curve_cache(newob);
@@ -1652,12 +1651,12 @@ static int convert_exec(bContext *C, wmOperator *op)
                                }
                                else {
                                        newob = ob;
-
-                                       /* meshes doesn't use displist */
-                                       BKE_object_free_curve_cache(newob);
                                }
 
-                               curvetomesh(scene, newob);
+                               curvetomesh(newob);
+
+                               /* meshes doesn't use displist */
+                               BKE_object_free_curve_cache(newob);
                        }
                }
                else if (ob->type == OB_MBALL && target == OB_MESH) {

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to