diff options
Diffstat (limited to 'source/blender/makesrna/intern/rna_meta.c')
-rw-r--r-- | source/blender/makesrna/intern/rna_meta.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/source/blender/makesrna/intern/rna_meta.c b/source/blender/makesrna/intern/rna_meta.c index f3160a7bb18..7b14a7a4712 100644 --- a/source/blender/makesrna/intern/rna_meta.c +++ b/source/blender/makesrna/intern/rna_meta.c @@ -57,12 +57,14 @@ static void rna_MetaBall_update_data(bContext *C, PointerRNA *ptr) MetaBall *mb= ptr->id.data; Object *ob; - for(ob=bmain->object.first; ob; ob= ob->id.next) - if(ob->data == mb) + for(ob=bmain->object.first; ob; ob= ob->id.next) { + if(ob->data == mb) { copy_mball_properties(scene, ob); - - DAG_id_flush_update(&mb->id, OB_RECALC_DATA); - WM_event_add_notifier(C, NC_GEOM|ND_DATA, mb); + /* XXX this will loop over all objects again (slow) */ + DAG_object_flush_update(scene, ob, OB_RECALC_DATA); + WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_DATA, ob); + } + } } #else |