Particles: bugfixes
* Don't show Apply as Shape for particle modifiers. * Fix particles disappearing after exiting particle mode. * Fix free edit not redrawing the 3d view. * Fix use of uninitialized variable in layers template.
This commit is contained in:
@@ -715,12 +715,12 @@ static uiLayout *draw_modifier(uiLayout *layout, Object *ob, ModifierData *md, i
|
||||
if(ELEM3(psys->part->ren_as, PART_DRAW_PATH, PART_DRAW_GR, PART_DRAW_OB) && psys->pathcache)
|
||||
uiItemO(row, "Convert", 0, "OBJECT_OT_modifier_convert");
|
||||
}
|
||||
else
|
||||
else {
|
||||
uiItemEnumO(row, "Apply", 0, "OBJECT_OT_modifier_apply", "apply_as", MODIFIER_APPLY_DATA);
|
||||
|
||||
if (modifier_sameTopology(md))
|
||||
uiItemEnumO(row, "Apply as Shape", 0, "OBJECT_OT_modifier_apply", "apply_as", MODIFIER_APPLY_SHAPE);
|
||||
|
||||
|
||||
if (modifier_sameTopology(md))
|
||||
uiItemEnumO(row, "Apply as Shape", 0, "OBJECT_OT_modifier_apply", "apply_as", MODIFIER_APPLY_SHAPE);
|
||||
}
|
||||
|
||||
uiBlockClearButLock(block);
|
||||
uiBlockSetButLock(block, ob && ob->id.lib, ERROR_LIBDATA_MESSAGE);
|
||||
@@ -1951,7 +1951,7 @@ void uiTemplateLayers(uiLayout *layout, PointerRNA *ptr, char *propname,
|
||||
PointerRNA *used_ptr, char *used_propname, int active_layer)
|
||||
{
|
||||
uiLayout *uRow, *uCol;
|
||||
PropertyRNA *prop, *used_prop;
|
||||
PropertyRNA *prop, *used_prop= NULL;
|
||||
int groups, cols, layers;
|
||||
int group, col, layer, row;
|
||||
int cols_per_group = 5;
|
||||
|
@@ -4024,6 +4024,7 @@ static int clear_edited_exec(bContext *C, wmOperator *op)
|
||||
psys->flag &= ~PSYS_EDITED;
|
||||
|
||||
psys_reset(psys, PSYS_RESET_DEPSGRAPH);
|
||||
WM_event_add_notifier(C, NC_OBJECT|ND_PARTICLE_DATA, ob);
|
||||
DAG_id_flush_update(&ob->id, OB_RECALC_DATA);
|
||||
}
|
||||
}
|
||||
|
@@ -5920,8 +5920,9 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, int flag)
|
||||
|
||||
for(psys=ob->particlesystem.first; psys; psys=psys->next) {
|
||||
/* run this so that possible child particles get cached */
|
||||
if(edit && edit->psys == psys)
|
||||
draw_update_ptcache_edit(scene, ob, edit);
|
||||
if(ob->mode & OB_MODE_PARTICLE_EDIT && ob==OBACT)
|
||||
if(edit && edit->psys == psys)
|
||||
draw_update_ptcache_edit(scene, ob, edit);
|
||||
|
||||
draw_new_particle_system(scene, v3d, rv3d, base, psys, dt);
|
||||
}
|
||||
|
Reference in New Issue
Block a user