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
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2012-05-04 01:32:49 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2012-05-04 01:32:49 +0400
commitb075765edd9e8f18b088faf1a55358d0f8a289cd (patch)
tree8e47cac0528e5448741c88b3e4b6cfe62c0183fc /source/blender/blenkernel
parent552a70f1774dcb197739281968aab58cf887fd83 (diff)
Fix #31258: collada now selects newly added objects after import.
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r--source/blender/blenkernel/BKE_object.h1
-rw-r--r--source/blender/blenkernel/intern/object.c6
-rw-r--r--source/blender/blenkernel/intern/scene.c2
3 files changed, 6 insertions, 3 deletions
diff --git a/source/blender/blenkernel/BKE_object.h b/source/blender/blenkernel/BKE_object.h
index 4fced71d7f2..2e334c4abc9 100644
--- a/source/blender/blenkernel/BKE_object.h
+++ b/source/blender/blenkernel/BKE_object.h
@@ -80,6 +80,7 @@ int exist_object(struct Object *obtest);
struct Object *add_only_object(int type, const char *name);
struct Object *add_object(struct Scene *scene, int type);
+void *add_obdata_from_type(int type);
struct Object *copy_object(struct Object *ob);
void make_local_object(struct Object *ob);
diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c
index 2cfacbcf034..280a8fdc2b2 100644
--- a/source/blender/blenkernel/intern/object.c
+++ b/source/blender/blenkernel/intern/object.c
@@ -747,7 +747,7 @@ int exist_object(Object *obtest)
/* *************************************************** */
-static void *add_obdata_from_type(int type)
+void *add_obdata_from_type(int type)
{
switch (type) {
case OB_MESH: return add_mesh("Mesh");
@@ -792,6 +792,9 @@ Object *add_only_object(int type, const char *name)
{
Object *ob;
+ if(!name)
+ name = get_obdata_defname(type);
+
ob= alloc_libblock(&G.main->object, ID_OB, name);
/* default object vars */
@@ -880,6 +883,7 @@ Object *add_object(struct Scene *scene, int type)
ob->lay= scene->lay;
base= scene_add_base(scene, ob);
+ scene_deselect_all(scene);
scene_select_base(scene, base);
ob->recalc |= OB_RECALC_OB|OB_RECALC_DATA|OB_RECALC_TIME;
diff --git a/source/blender/blenkernel/intern/scene.c b/source/blender/blenkernel/intern/scene.c
index 864260833a6..c8f41f26c9b 100644
--- a/source/blender/blenkernel/intern/scene.c
+++ b/source/blender/blenkernel/intern/scene.c
@@ -888,8 +888,6 @@ void scene_deselect_all(Scene *sce)
void scene_select_base(Scene *sce, Base *selbase)
{
- scene_deselect_all(sce);
-
selbase->flag |= SELECT;
selbase->object->flag= selbase->flag;