diff options
author | Matt Ebb <matt@mke3.net> | 2010-06-27 11:45:57 +0400 |
---|---|---|
committer | Matt Ebb <matt@mke3.net> | 2010-06-27 11:45:57 +0400 |
commit | e86c5cf9ea951c102be1206ca489252166623e38 (patch) | |
tree | cc4a016ec52b692c202bdb0f9cfec4372086e4f0 /source/blender/editors/mesh/editmesh_add.c | |
parent | ce7d7689340891e329f182cf969e13573483aded (diff) |
Fix [#22564] Object name by object type
Restored auto-naming newly created objects by type, for Mesh, Lamp, Meta
Diffstat (limited to 'source/blender/editors/mesh/editmesh_add.c')
-rw-r--r-- | source/blender/editors/mesh/editmesh_add.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/source/blender/editors/mesh/editmesh_add.c b/source/blender/editors/mesh/editmesh_add.c index a7a0a854f1b..6cdd1dff1fc 100644 --- a/source/blender/editors/mesh/editmesh_add.c +++ b/source/blender/editors/mesh/editmesh_add.c @@ -1262,6 +1262,23 @@ static void make_prim(Object *obedit, int type, float mat[4][4], int tot, int se /* ********* add primitive operators ************* */ +static char *get_mesh_defname(int type) +{ + switch (type) { + case PRIM_PLANE: return "Plane"; + case PRIM_CUBE: return "Cube"; + case PRIM_CIRCLE: return "Circle"; + case PRIM_CYLINDER: return "Tube"; + case PRIM_CONE: return "Cone"; + case PRIM_GRID: return "Grid"; + case PRIM_UVSPHERE: return "Sphere"; + case PRIM_ICOSPHERE: return "Icosphere"; + case PRIM_MONKEY: return "Monkey"; + default: + return "Mesh"; + } +} + static void make_prim_ext(bContext *C, float *loc, float *rot, int enter_editmode, unsigned int layer, int type, int tot, int seg, int subdiv, float dia, float depth, int ext, int fill) @@ -1274,6 +1291,9 @@ static void make_prim_ext(bContext *C, float *loc, float *rot, int enter_editmod if(obedit==NULL || obedit->type!=OB_MESH) { obedit= ED_object_add_type(C, OB_MESH, loc, rot, FALSE, layer); + rename_id((ID *)obedit, get_mesh_defname(type)); + rename_id((ID *)obedit->data, get_mesh_defname(type)); + /* create editmode */ ED_object_enter_editmode(C, EM_DO_UNDO|EM_IGNORE_LAYER); /* rare cases the active layer is messed up */ newob = 1; |