diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c index 63361e31c6e..2e4111cee40 100644 --- a/source/blender/editors/transform/transform_conversions.c +++ b/source/blender/editors/transform/transform_conversions.c @@ -4572,6 +4572,10 @@ void special_aftertrans_update(TransInfo *t) } } } + else if (t->spacetype == SPACE_SEQ) { + /* freeSeqData in transform_conversions.c does this + * keep here so the else at the end wont run... */ + } else if (t->spacetype == SPACE_ACTION) { SpaceAction *saction= (SpaceAction *)t->sa->spacedata.first; Scene *scene; diff --git a/source/blender/editors/transform/transform_snap.c b/source/blender/editors/transform/transform_snap.c index 6cfffd1ade7..b9b9ca034cf 100644 --- a/source/blender/editors/transform/transform_snap.c +++ b/source/blender/editors/transform/transform_snap.c @@ -1453,9 +1453,19 @@ int snapObjects(Scene *scene, View3D *v3d, ARegion *ar, Object *obedit, float mv if (mode == SNAP_ALL && obedit) { Object *ob = obedit; - + retval |= snapObject(scene, ar, ob, 1, ob->obmat, ray_start, ray_normal, mval, loc, no, dist, &depth); } + + /* This isn't so great, particles only need to snap with the mesh object + * that emits them, but this doesnt fit into a current snap mode + * */ + if(BASACT->object && BASACT->object->mode & OB_MODE_PARTICLE_EDIT) + { + Object *ob = BASACT->object; + + retval |= snapObject(scene, ar, ob, 0, ob->obmat, ray_start, ray_normal, mval, loc, no, dist, &depth); + } base= FIRSTBASE; for ( base = FIRSTBASE; base != NULL; base = base->next ) {