Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2012-02-16 23:13:04 +0400
committerCampbell Barton <ideasman42@gmail.com>2012-02-16 23:13:04 +0400
commit0e3537e37459d0a846372c30ee7179a928fbaf61 (patch)
tree9327c4358343fbdbc1a250fdc6687b40127fd762 /source
parentb653ebc62c0c1312729250f74e2eefa4f2c0f118 (diff)
fix [#30141] Add primitive sets only the default name "Mesh"
Diffstat (limited to 'source')
-rw-r--r--source/blender/editors/mesh/editbmesh_add.c25
1 files changed, 15 insertions, 10 deletions
diff --git a/source/blender/editors/mesh/editbmesh_add.c b/source/blender/editors/mesh/editbmesh_add.c
index d296009b648..bbf920f8e05 100644
--- a/source/blender/editors/mesh/editbmesh_add.c
+++ b/source/blender/editors/mesh/editbmesh_add.c
@@ -36,6 +36,7 @@
#include "BKE_context.h"
#include "BKE_depsgraph.h"
+#include "BKE_library.h"
#include "BKE_tessmesh.h"
@@ -76,7 +77,8 @@ static float new_primitive_matrix(bContext *C, float *loc, float *rot, float pri
/* ********* add primitive operators ************* */
-static void make_prim_init(bContext *C, float *dia, float mat[][4],
+static void make_prim_init(bContext *C, const char *idname,
+ float *dia, float mat[][4],
int *state, float *loc, float *rot, unsigned int layer)
{
Object *obedit= CTX_data_edit_object(C);
@@ -85,6 +87,9 @@ static void make_prim_init(bContext *C, float *dia, float mat[][4],
if(obedit==NULL || obedit->type!=OB_MESH) {
obedit= ED_object_add_type(C, OB_MESH, loc, rot, FALSE, layer);
+ rename_id((ID *)obedit, idname);
+ rename_id((ID *)obedit->data, idname);
+
/* create editmode */
ED_object_enter_editmode(C, EM_DO_UNDO|EM_IGNORE_LAYER); /* rare cases the active layer is messed up */
*state = 1;
@@ -129,7 +134,7 @@ static int add_primitive_plane_exec(bContext *C, wmOperator *op)
unsigned int layer;
ED_object_add_generic_get_opts(C, op, loc, rot, &enter_editmode, &layer, NULL);
- make_prim_init(C, &dia, mat, &state, loc, rot, layer);
+ make_prim_init(C, "Plane", &dia, mat, &state, loc, rot, layer);
obedit = CTX_data_edit_object(C);
me = obedit->data;
@@ -173,7 +178,7 @@ static int add_primitive_cube_exec(bContext *C, wmOperator *op)
unsigned int layer;
ED_object_add_generic_get_opts(C, op, loc, rot, &enter_editmode, &layer, NULL);
- make_prim_init(C, &dia, mat, &state, loc, rot, layer);
+ make_prim_init(C, "Cube", &dia, mat, &state, loc, rot, layer);
obedit= CTX_data_edit_object(C);
me = obedit->data;
@@ -226,7 +231,7 @@ static int add_primitive_circle_exec(bContext *C, wmOperator *op)
cap_tri = cap_end==2;
ED_object_add_generic_get_opts(C, op, loc, rot, &enter_editmode, &layer, NULL);
- make_prim_init(C, &dia, mat, &state, loc, rot, layer);
+ make_prim_init(C, "Circle", &dia, mat, &state, loc, rot, layer);
obedit = CTX_data_edit_object(C);
me = obedit->data;
@@ -283,7 +288,7 @@ static int add_primitive_cylinder_exec(bContext *C, wmOperator *op)
cap_tri = cap_end==2;
ED_object_add_generic_get_opts(C, op, loc, rot, &enter_editmode, &layer, NULL);
- make_prim_init(C, &dia, mat, &state, loc, rot, layer);
+ make_prim_init(C, "Cylinder", &dia, mat, &state, loc, rot, layer);
obedit = CTX_data_edit_object(C);
me = obedit->data;
@@ -342,7 +347,7 @@ static int add_primitive_cone_exec(bContext *C, wmOperator *op)
cap_tri = cap_end==2;
ED_object_add_generic_get_opts(C, op, loc, rot, &enter_editmode, &layer, NULL);
- make_prim_init(C, &dia, mat, &state, loc, rot, layer);
+ make_prim_init(C, "Cone", &dia, mat, &state, loc, rot, layer);
obedit = CTX_data_edit_object(C);
me = obedit->data;
@@ -398,7 +403,7 @@ static int add_primitive_grid_exec(bContext *C, wmOperator *op)
unsigned int layer;
ED_object_add_generic_get_opts(C, op, loc, rot, &enter_editmode, &layer, NULL);
- make_prim_init(C, &dia, mat, &state, loc, rot, layer);
+ make_prim_init(C, "Grid", &dia, mat, &state, loc, rot, layer);
obedit = CTX_data_edit_object(C);
me = obedit->data;
@@ -457,7 +462,7 @@ static int add_primitive_monkey_exec(bContext *C, wmOperator *op)
if (!view_aligned)
rot[0] += M_PI/2.0f;
- make_prim_init(C, &dia, mat, &state, loc, rot, layer);
+ make_prim_init(C, "Monkey", &dia, mat, &state, loc, rot, layer);
obedit = CTX_data_edit_object(C);
me = obedit->data;
@@ -501,7 +506,7 @@ static int add_primitive_uvsphere_exec(bContext *C, wmOperator *op)
unsigned int layer;
ED_object_add_generic_get_opts(C, op, loc, rot, &enter_editmode, &layer, NULL);
- make_prim_init(C, &dia, mat, &state, loc, rot, layer);
+ make_prim_init(C, "Sphere", &dia, mat, &state, loc, rot, layer);
obedit = CTX_data_edit_object(C);
me = obedit->data;
@@ -555,7 +560,7 @@ static int add_primitive_icosphere_exec(bContext *C, wmOperator *op)
unsigned int layer;
ED_object_add_generic_get_opts(C, op, loc, rot, &enter_editmode, &layer, NULL);
- make_prim_init(C, &dia, mat, &state, loc, rot, layer);
+ make_prim_init(C, "Icosphere", &dia, mat, &state, loc, rot, layer);
obedit = CTX_data_edit_object(C);
me = obedit->data;