Revision: 28190
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=28190
Author: campbellbarton
Date: 2010-04-14 10:52:22 +0200 (Wed, 14 Apr 2010)
Log Message:
-----------
rna api, when linking objects to an inactive scene, dont change its layer,
removed NULL object data check since this isnt allowed from the api side.
Modified Paths:
--------------
trunk/blender/release/scripts/op/presets.py
trunk/blender/source/blender/makesrna/intern/rna_scene.c
Modified: trunk/blender/release/scripts/op/presets.py
===================================================================
--- trunk/blender/release/scripts/op/presets.py 2010-04-14 08:08:15 UTC (rev
28189)
+++ trunk/blender/release/scripts/op/presets.py 2010-04-14 08:52:22 UTC (rev
28190)
@@ -87,7 +87,6 @@
# change the menu title to the most recently chosen option
preset_class = getattr(bpy.types, self.properties.menu_idname)
preset_class.bl_label = self.properties.preset_name
- print(10)
# execute the preset using script.python_file_run
bpy.ops.script.python_file_run(path=self.properties.path)
Modified: trunk/blender/source/blender/makesrna/intern/rna_scene.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_scene.c 2010-04-14
08:08:15 UTC (rev 28189)
+++ trunk/blender/source/blender/makesrna/intern/rna_scene.c 2010-04-14
08:52:22 UTC (rev 28190)
@@ -179,15 +179,11 @@
return rna_pointer_inherit_refine(&iter->parent, &RNA_Object,
((Base*)internal->link)->object);
}
-static Base *rna_Scene_object_link(Scene *scene, ReportList *reports, Object
*ob)
+static Base *rna_Scene_object_link(Scene *scene, bContext *C, ReportList
*reports, Object *ob)
{
+ Scene *scene_act= CTX_data_scene(C);
Base *base;
- if (ob->type != OB_EMPTY && ob->data==NULL) {
- BKE_reportf(reports, RPT_ERROR, "Object \"%s\" is not an Empty
type and has no Object Data set.", ob->id.name+2);
- return NULL;
- }
-
if (object_in_scene(ob, scene)) {
BKE_reportf(reports, RPT_ERROR, "Object \"%s\" is already in
scene \"%s\".", ob->id.name+2, scene->id.name+2);
return NULL;
@@ -197,7 +193,12 @@
ob->id.us++;
/* this is similar to what object_add_type and add_object do */
- ob->lay= base->lay= scene->lay;
+ base->lay= scene->lay;
+
+ /* when linking to an inactive scene dont touch the layer */
+ if(scene == scene_act)
+ ob->lay= base->lay;
+
ob->recalc |= OB_RECALC;
DAG_scene_sort(scene);
@@ -2750,7 +2751,7 @@
func= RNA_def_function(srna, "link", "rna_Scene_object_link");
RNA_def_function_ui_description(func, "Link object to scene.");
- RNA_def_function_flag(func, FUNC_USE_REPORTS);
+ RNA_def_function_flag(func, FUNC_USE_CONTEXT|FUNC_USE_REPORTS);
parm= RNA_def_pointer(func, "object", "Object", "", "Object to add to
scene.");
RNA_def_property_flag(parm, PROP_REQUIRED);
parm= RNA_def_pointer(func, "base", "ObjectBase", "", "The newly
created base.");
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs