In rna_object.c you're returning a value in a void function (rna_Object_modifier_remove). Wasn't sure if you meant this function to have a return type or not, so I'll let you fix :)
-Nicholas On Sat, Nov 28, 2009 at 8:33 AM, Campbell Barton <[email protected]> wrote: > Revision: 24967 > > http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=24967 > Author: campbellbarton > Date: 2009-11-28 14:33:56 +0100 (Sat, 28 Nov 2009) > > Log Message: > ----------- > py/rna api > - object.modifiers.add()/remove() > - armature.edit_bones.active wasnt named correctly > > Modified Paths: > -------------- > trunk/blender/release/scripts/op/object.py > trunk/blender/source/blender/blenkernel/BKE_particle.h > trunk/blender/source/blender/blenkernel/intern/particle.c > trunk/blender/source/blender/editors/include/ED_object.h > trunk/blender/source/blender/editors/object/object_modifier.c > trunk/blender/source/blender/editors/object/object_relations.c > trunk/blender/source/blender/editors/physics/particle_object.c > trunk/blender/source/blender/makesrna/intern/rna_armature.c > trunk/blender/source/blender/makesrna/intern/rna_object.c > trunk/blender/source/blender/makesrna/intern/rna_object_force.c > trunk/blender/source/blender/makesrna/intern/rna_pose.c > trunk/blender/source/blenderplayer/bad_level_call_stubs/stubs.c > > Modified: trunk/blender/release/scripts/op/object.py > =================================================================== > --- trunk/blender/release/scripts/op/object.py 2009-11-28 13:33:17 UTC (rev > 24966) > +++ trunk/blender/release/scripts/op/object.py 2009-11-28 13:33:56 UTC (rev > 24967) > @@ -43,8 +43,7 @@ > return ('FINISHED',) > > # adda new modifier > - bpy.ops.object.modifier_add(type='SUBSURF') # TODO, support adding > directly > - mod = ob.modifiers[-1] > + mod = ob.modifiers.new("Subsurf", 'SUBSURF') > mod.levels = level > return ('FINISHED',) > > > Modified: trunk/blender/source/blender/blenkernel/BKE_particle.h > =================================================================== > --- trunk/blender/source/blender/blenkernel/BKE_particle.h 2009-11-28 > 13:33:17 UTC (rev 24966) > +++ trunk/blender/source/blender/blenkernel/BKE_particle.h 2009-11-28 > 13:33:56 UTC (rev 24967) > @@ -222,7 +222,7 @@ > void psys_particle_on_emitter(struct ParticleSystemModifierData *psmd, int > distr, int index, int index_dmcache, float *fuv, float foffset, float *vec, > float *nor, float *utan, float *vtan, float *orco, float *ornor); > struct ParticleSystemModifierData *psys_get_modifier(struct Object *ob, > struct ParticleSystem *psys); > > -void object_add_particle_system(struct Scene *scene, struct Object *ob); > +struct ModifierData *object_add_particle_system(struct Scene *scene, struct > Object *ob, char *name); > void object_remove_particle_system(struct Scene *scene, struct Object *ob); > struct ParticleSettings *psys_new_settings(char *name, struct Main *main); > struct ParticleSettings *psys_copy_settings(struct ParticleSettings *part); > > Modified: trunk/blender/source/blender/blenkernel/intern/particle.c > =================================================================== > --- trunk/blender/source/blender/blenkernel/intern/particle.c 2009-11-28 > 13:33:17 UTC (rev 24966) > +++ trunk/blender/source/blender/blenkernel/intern/particle.c 2009-11-28 > 13:33:56 UTC (rev 24967) > @@ -3268,14 +3268,14 @@ > /************************************************/ > /* ParticleSettings handling */ > /************************************************/ > -void object_add_particle_system(Scene *scene, Object *ob) > +ModifierData *object_add_particle_system(Scene *scene, Object *ob, char > *name) > { > ParticleSystem *psys; > ModifierData *md; > ParticleSystemModifierData *psmd; > > if(!ob || ob->type != OB_MESH) > - return; > + return NULL; > > psys = ob->particlesystem.first; > for(; psys; psys=psys->next) > @@ -3293,7 +3293,11 @@ > strcpy(psys->name, "ParticleSystem"); > > md= modifier_new(eModifierType_ParticleSystem); > - sprintf(md->name, "ParticleSystem %i", > BLI_countlist(&ob->particlesystem)); > + > + if(name) BLI_strncpy(md->name, name, sizeof(md->name)); > + else sprintf(md->name, "ParticleSystem %i", > BLI_countlist(&ob->particlesystem)); > + modifier_unique_name(&ob->modifiers, md); > + > psmd= (ParticleSystemModifierData*) md; > psmd->psys=psys; > BLI_addtail(&ob->modifiers, md); > @@ -3304,6 +3308,8 @@ > > DAG_scene_sort(scene); > DAG_id_flush_update(&ob->id, OB_RECALC_DATA); > + > + return md; > } > void object_remove_particle_system(Scene *scene, Object *ob) > { > > Modified: trunk/blender/source/blender/editors/include/ED_object.h > =================================================================== > --- trunk/blender/source/blender/editors/include/ED_object.h 2009-11-28 > 13:33:17 UTC (rev 24966) > +++ trunk/blender/source/blender/editors/include/ED_object.h 2009-11-28 > 13:33:56 UTC (rev 24967) > @@ -121,7 +121,7 @@ > MODIFIER_APPLY_SHAPE, > } eModifier_Apply_Mode; > > -struct ModifierData *ED_object_modifier_add(struct ReportList *reports, > struct Scene *scene, struct Object *ob, int type); > +struct ModifierData *ED_object_modifier_add(struct ReportList *reports, > struct Scene *scene, struct Object *ob, char *name, int type); > int ED_object_modifier_remove(struct ReportList *reports, struct Scene > *scene, struct Object *ob, struct ModifierData *md); > int ED_object_modifier_move_down(struct ReportList *reports, struct Object > *ob, struct ModifierData *md); > int ED_object_modifier_move_up(struct ReportList *reports, struct Object > *ob, struct ModifierData *md); > > Modified: trunk/blender/source/blender/editors/object/object_modifier.c > =================================================================== > --- trunk/blender/source/blender/editors/object/object_modifier.c > 2009-11-28 13:33:17 UTC (rev 24966) > +++ trunk/blender/source/blender/editors/object/object_modifier.c > 2009-11-28 13:33:56 UTC (rev 24967) > @@ -43,6 +43,7 @@ > > #include "BLI_math.h" > #include "BLI_listbase.h" > +#include "BLI_string.h" > > #include "BKE_action.h" > #include "BKE_curve.h" > @@ -78,7 +79,7 @@ > > /******************************** API ****************************/ > > -ModifierData *ED_object_modifier_add(ReportList *reports, Scene *scene, > Object *ob, int type) > +ModifierData *ED_object_modifier_add(ReportList *reports, Scene *scene, > Object *ob, char *name, int type) > { > ModifierData *md=NULL, *new_md=NULL; > ModifierTypeInfo *mti = modifierType_getInfo(type); > @@ -94,7 +95,7 @@ > /* don't need to worry about the new modifier's name, since > that is set to the number > * of particle systems which shouldn't have too many duplicates > */ > - object_add_particle_system(scene, ob); > + new_md = object_add_particle_system(scene, ob, name); > } > else { > /* get new modifier data to add */ > @@ -110,8 +111,12 @@ > } > else > BLI_addtail(&ob->modifiers, new_md); > - > + > + if(name) > + BLI_strncpy(new_md->name, name, sizeof(new_md->name)); > + > /* make sure modifier data has unique name */ > + > modifier_unique_name(&ob->modifiers, new_md); > > /* special cases */ > @@ -148,8 +153,10 @@ > if(obmd==md) > break; > > - if(!obmd) > + if(!obmd) { > + BKE_reportf(reports, RPT_ERROR, "Modifier '%s' not in object > '%s'.", ob->id.name, md->name); > return 0; > + } > > /* special cases */ > if(md->type == eModifierType_ParticleSystem) { > @@ -482,7 +489,7 @@ > Object *ob = CTX_data_active_object(C); > int type= RNA_enum_get(op->ptr, "type"); > > - if(!ED_object_modifier_add(op->reports, scene, ob, type)) > + if(!ED_object_modifier_add(op->reports, scene, ob, NULL, type)) > return OPERATOR_CANCELLED; > > WM_event_add_notifier(C, NC_OBJECT|ND_MODIFIER, ob); > > Modified: trunk/blender/source/blender/editors/object/object_relations.c > =================================================================== > --- trunk/blender/source/blender/editors/object/object_relations.c > 2009-11-28 13:33:17 UTC (rev 24966) > +++ trunk/blender/source/blender/editors/object/object_relations.c > 2009-11-28 13:33:56 UTC (rev 24967) > @@ -620,15 +620,15 @@ > > switch (partype) { > case PAR_CURVE: /* curve > deform */ > - md= > ED_object_modifier_add(op->reports, scene, ob, eModifierType_Curve); > + md= > ED_object_modifier_add(op->reports, scene, ob, NULL, eModifierType_Curve); > ((CurveModifierData > *)md)->object= par; > break; > case PAR_LATTICE: /* lattice > deform */ > - md= > ED_object_modifier_add(op->reports, scene, ob, eModifierType_Lattice); > + md= > ED_object_modifier_add(op->reports, scene, ob, NULL, eModifierType_Lattice); > ((LatticeModifierData > *)md)->object= par; > break; > default: /* armature deform */ > - md= > ED_object_modifier_add(op->reports, scene, ob, eModifierType_Armature); > + md= > ED_object_modifier_add(op->reports, scene, ob, NULL, eModifierType_Armature); > ((ArmatureModifierData > *)md)->object= par; > break; > } > > Modified: trunk/blender/source/blender/editors/physics/particle_object.c > =================================================================== > --- trunk/blender/source/blender/editors/physics/particle_object.c > 2009-11-28 13:33:17 UTC (rev 24966) > +++ trunk/blender/source/blender/editors/physics/particle_object.c > 2009-11-28 13:33:56 UTC (rev 24967) > @@ -69,7 +69,7 @@ > if(!scene || !ob) > return OPERATOR_CANCELLED; > > - object_add_particle_system(scene, ob); > + object_add_particle_system(scene, ob, NULL); > WM_event_add_notifier(C, NC_OBJECT|ND_DRAW, ob); > > return OPERATOR_FINISHED; > > Modified: trunk/blender/source/blender/makesrna/intern/rna_armature.c > =================================================================== > --- trunk/blender/source/blender/makesrna/intern/rna_armature.c 2009-11-28 > 13:33:17 UTC (rev 24966) > +++ trunk/blender/source/blender/makesrna/intern/rna_armature.c 2009-11-28 > 13:33:56 UTC (rev 24967) > @@ -662,7 +662,7 @@ > RNA_def_struct_sdna(srna, "bArmature"); > RNA_def_struct_ui_text(srna, "Armature EditBones", "Collection of > armature edit bones."); > > - prop= RNA_def_property(srna, "edit_bones", PROP_POINTER, PROP_NONE); > + prop= RNA_def_property(srna, "active", PROP_POINTER, PROP_NONE); > RNA_def_property_struct_type(prop, "EditBone"); > RNA_def_property_pointer_sdna(prop, NULL, "act_edbone"); > RNA_def_property_flag(prop, PROP_EDITABLE); > > Modified: trunk/blender/source/blender/makesrna/intern/rna_object.c > =================================================================== > --- trunk/blender/source/blender/makesrna/intern/rna_object.c 2009-11-28 > 13:33:17 UTC (rev 24966) > +++ trunk/blender/source/blender/makesrna/intern/rna_object.c 2009-11-28 > 13:33:56 UTC (rev 24967) > @@ -940,13 +940,13 @@ > constraints_set_active(&ob->constraints, (bConstraint *)value.data); > } > > -static bConstraint *rna_Object_constraints_new(Object *object, bContext *C, > int type) > +static bConstraint *rna_Object_constraint_new(Object *object, bContext *C, > int type) > { > WM_event_add_notifier(C, NC_OBJECT|ND_CONSTRAINT|NA_ADDED, object); > return add_ob_constraint(object, NULL, type); > } > > -static int rna_Object_constraints_remove(Object *object, bContext *C, int > index) > +static int rna_Object_constraint_remove(Object *object, bContext *C, int > index) > { > int ok = remove_constraint_index(&object->constraints, index); > if(ok) { > @@ -957,6 +957,16 @@ > return ok; > } > > +static ModifierData *rna_Object_modifier_new(Object *object, bContext *C, > ReportList *reports, char *name, int type) > +{ > + return ED_object_modifier_add(reports, CTX_data_scene(C), object, > name, type); > +} > + > +static void rna_Object_modifier_remove(Object *object, bContext *C, > ReportList *reports, ModifierData *md) > +{ > + return ED_object_modifier_remove(reports, CTX_data_scene(C), object, > md); > +} > + > #else > > static void rna_def_vertex_group(BlenderRNA *brna) > @@ -1248,7 +1258,7 @@ > > > /* Constraint collection */ > - func= RNA_def_function(srna, "new", "rna_Object_constraints_new"); > > @@ Diff output truncated at 10240 characters. @@ > > _______________________________________________ > Bf-blender-cvs mailing list > [email protected] > http://lists.blender.org/mailman/listinfo/bf-blender-cvs > _______________________________________________ Bf-committers mailing list [email protected] http://lists.blender.org/mailman/listinfo/bf-committers
