Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/src/transform_generics.c')
-rw-r--r--source/blender/src/transform_generics.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/source/blender/src/transform_generics.c b/source/blender/src/transform_generics.c
index a22d8ccdbf9..d0ca1f4cd74 100644
--- a/source/blender/src/transform_generics.c
+++ b/source/blender/src/transform_generics.c
@@ -44,6 +44,7 @@
#include "DNA_modifier_types.h"
#include "DNA_object_types.h"
#include "DNA_object_force.h"
+#include "DNA_particle_types.h"
#include "DNA_screen_types.h"
#include "DNA_space_types.h"
#include "DNA_scene_types.h"
@@ -59,6 +60,7 @@
#include "BIF_editmesh.h"
#include "BIF_editnla.h"
#include "BIF_editsima.h"
+#include "BIF_editparticle.h"
#include "BIF_meshtools.h"
#include "BIF_retopo.h"
@@ -188,6 +190,8 @@ static void clipMirrorModifier(TransInfo *t, Object *ob)
break;
if (td->loc==NULL)
break;
+ if (td->flag & TD_SKIP)
+ continue;
VecCopyf(loc, td->loc);
VecCopyf(iloc, td->iloc);
@@ -246,6 +250,8 @@ static void editmesh_apply_to_mirror(TransInfo *t)
break;
if (td->loc==NULL)
break;
+ if (td->flag & TD_SKIP)
+ continue;
eve= td->tdmir;
if(eve) {
@@ -468,6 +474,9 @@ void recalcData(TransInfo *t)
else
where_is_pose(ob);
}
+ else if(G.f & G_PARTICLEEDIT) {
+ flushTransParticles(t);
+ }
else {
for(base= FIRSTBASE; base; base= base->next) {
Object *ob= base->object;
@@ -561,6 +570,7 @@ void initTrans (TransInfo *t)
{
/* moving: is shown in drawobject() (transform color) */
if(G.obedit || (t->flag & T_POSE) ) G.moving= G_TRANSFORM_EDIT;
+ else if(G.f & G_PARTICLEEDIT) G.moving= G_TRANSFORM_PARTICLE;
else G.moving= G_TRANSFORM_OBJ;
t->data = NULL;
@@ -708,7 +718,7 @@ static void restoreElement(TransData *td) {
if (td->val) {
*td->val = td->ival;
}
- if (td->ext) {
+ if (td->ext && (td->flag&TD_NO_EXT)==0) {
if (td->ext->rot) {
VECCOPY(td->ext->rot, td->ext->irot);
}