[Bf-blender-cvs] [25f1e97] render-layers: Fixup for new layers

Dalai Felinto noreply at git.blender.org
Sat Dec 3 02:44:15 CET 2016


Commit: 25f1e974087d3e140ebb5c981b93eebdb71cb72f
Author: Dalai Felinto
Date:   Fri Dec 2 18:31:35 2016 +0100
Branches: render-layers
https://developer.blender.org/rB25f1e974087d3e140ebb5c981b93eebdb71cb72f

Fixup for new layers

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

M	source/blender/blenkernel/intern/layer.c
M	source/blender/makesrna/intern/rna_scene.c

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

diff --git a/source/blender/blenkernel/intern/layer.c b/source/blender/blenkernel/intern/layer.c
index eb84eb3..19967c7 100644
--- a/source/blender/blenkernel/intern/layer.c
+++ b/source/blender/blenkernel/intern/layer.c
@@ -25,7 +25,10 @@
  */
 
 #include "BLI_listbase.h"
+#include "BLI_path_util.h"
 #include "BLI_string.h"
+#include "BLI_string_utf8.h"
+#include "BLT_translation.h"
 
 #include "BKE_collection.h"
 #include "BKE_layer.h"
@@ -52,10 +55,15 @@ LayerCollection *layer_collection_add(SceneLayer *sl, ListBase *lb, SceneCollect
 SceneLayer *BKE_scene_layer_add(Scene *scene, const char *name)
 {
 	SceneLayer *sl = MEM_callocN(sizeof(SceneLayer), "Scene Layer");
-	BLI_strncpy(sl->name, name, sizeof(sl->name));
+	BLI_addtail(&scene->render_layers, sl);
+
+	/* unique name */
+	BLI_strncpy_utf8(sl->name, name, sizeof(sl->name));
+	BLI_uniquename(&scene->render_layers, sl, DATA_("SceneLayer"), '.', offsetof(SceneLayer, name), sizeof(sl->name));
 
 	SceneCollection *sc = BKE_collection_master(scene);
 	layer_collection_add(sl, &sl->collections, sc);
+
 	return sl;
 }
 
diff --git a/source/blender/makesrna/intern/rna_scene.c b/source/blender/makesrna/intern/rna_scene.c
index a945239..a011c8f 100644
--- a/source/blender/makesrna/intern/rna_scene.c
+++ b/source/blender/makesrna/intern/rna_scene.c
@@ -2129,10 +2129,7 @@ static void rna_SceneCollection_name_set(PointerRNA *ptr, const char *value)
 	SceneCollection *sc = (SceneCollection *)ptr->data;
 	SceneCollection *sc_master = BKE_collection_master(scene);
 
-	char oldname[sizeof(sc->name)];
-	BLI_strncpy(oldname, sc->name, sizeof(sc->name));
 	BLI_strncpy_utf8(sc->name, value, sizeof(sc->name));
-
 	BLI_uniquename(&sc_master->collections, sc, DATA_("SceneCollection"), '.', offsetof(SceneCollection, name), sizeof(sc->name));
 }
 
@@ -2140,10 +2137,8 @@ static void rna_SceneCollection_filter_set(PointerRNA *ptr, const char *value)
 {
 	Scene *scene = (Scene *)ptr->id.data;
 	SceneCollection *sc = (SceneCollection *)ptr->data;
-	char oldfilter[sizeof(sc->filter)];
-
-	BLI_strncpy(oldfilter, sc->filter, sizeof(sc->filter));
 	BLI_strncpy_utf8(sc->filter, value, sizeof(sc->filter));
+
 	TODO_LAYER_SYNC;
 	(void)scene;
 }
@@ -7537,7 +7532,7 @@ void RNA_def_scene(BlenderRNA *brna)
 	prop = RNA_def_property(srna, "render_layers", PROP_COLLECTION, PROP_NONE);
 	RNA_def_property_collection_sdna(prop, NULL, "render_layers", NULL);
 	RNA_def_property_struct_type(prop, "SceneLayer");
-	RNA_def_property_ui_text(prop, "Scene Layers", "");
+	RNA_def_property_ui_text(prop, "Render Layers", "");
 	rna_def_scene_layers(brna, prop);
 
 	prop = RNA_def_property(srna, "master_collection", PROP_POINTER, PROP_NONE);




More information about the Bf-blender-cvs mailing list