Various stuff in one commit;

- Added (BKE_utildefines.h) POINTER_TO_INT(poin) and INT_TO_POINTER(int)
  defines, to help fixing issues with switch to 64 bits systems. This
  assumes that a) not more than 16GB mem is used and b) that address
  space is below the 1<<35 value. The latter has to be confirmed, but it
  seems to conform the current 64 bits generation of OSs (for mallocs).

  Needless to say; use long if you want to store pointers! This is for
  temporal fixing.

- Added editmesh version for mesh-octree lookups, not used yet.

- Fix: ESC on armature posemode restored the actions, should not happen

- Fix: If in NLA an action was 0 frame long, it caused draw error

- Fix: Click on name in Action Window now activates Bones

- Fix: "Snap to" options in Armature editmode now use X-axis mirror edit.
This commit is contained in:
2005-10-22 18:47:38 +00:00
parent fc169264cd
commit 9e19739944
13 changed files with 181 additions and 137 deletions

View File

@@ -1618,11 +1618,10 @@ void special_aftertrans_update(TransInfo *t)
ob= t->poseobj;
arm= ob->data;
ob->pose->flag &= ~POSE_LOCKED;
/* this signal does one recalc on pose, then unlocks, so ESC or edit will work */
ob->pose->flag |= POSE_DO_UNLOCK;
if(cancelled) /* if cancelled we do the update always */
DAG_object_flush_update(G.scene, ob, OB_RECALC_DATA);
else if(G.flags & G_RECORDKEYS) {
if(G.flags & G_RECORDKEYS) {
act= ob->action;
pose= ob->pose;
@@ -1661,7 +1660,8 @@ void special_aftertrans_update(TransInfo *t)
DAG_object_flush_update(G.scene, ob, OB_RECALC_DATA);
ob->recalc= 0; // is set on OK position already by recalcData()
}
/* do not call DAG_object_flush_update always, we dont want actions to update, for inserting keys */
else
DAG_object_flush_update(G.scene, ob, OB_RECALC_DATA);
if(t->mode==TFM_BONESIZE || t->mode==TFM_BONE_ENVELOPE)
allqueue(REDRAWBUTSEDIT, 0);