[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [19946] branches/blender2.5/blender/source /blender: 2.5
Martin Poirier
theeth at yahoo.com
Mon Apr 27 17:43:35 CEST 2009
Revision: 19946
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=19946
Author: theeth
Date: 2009-04-27 17:43:35 +0200 (Mon, 27 Apr 2009)
Log Message:
-----------
2.5
Fix repeat crash with transform. Just remove stupid twmat, don't need to cache results in view3d.
Made it more safe too.
Modified Paths:
--------------
branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c
branches/blender2.5/blender/source/blender/editors/space_view3d/space_view3d.c
branches/blender2.5/blender/source/blender/editors/transform/transform.c
branches/blender2.5/blender/source/blender/editors/transform/transform_orientations.c
branches/blender2.5/blender/source/blender/makesdna/DNA_view3d_types.h
Modified: branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c 2009-04-27 14:22:02 UTC (rev 19945)
+++ branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c 2009-04-27 15:43:35 UTC (rev 19946)
@@ -4522,7 +4522,6 @@
rv3d->dist= v3d->dist;
VECCOPY(rv3d->ofs, v3d->ofs);
QUATCOPY(rv3d->viewquat, v3d->viewquat);
- Mat4One(rv3d->twmat);
}
}
}
Modified: branches/blender2.5/blender/source/blender/editors/space_view3d/space_view3d.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_view3d/space_view3d.c 2009-04-27 14:22:02 UTC (rev 19945)
+++ branches/blender2.5/blender/source/blender/editors/space_view3d/space_view3d.c 2009-04-27 15:43:35 UTC (rev 19946)
@@ -183,7 +183,6 @@
rv3d->persp= 1;
rv3d->view= 7;
rv3d->dist= 10.0;
- Mat4One(rv3d->twmat);
return (SpaceLink *)v3d;
}
Modified: branches/blender2.5/blender/source/blender/editors/transform/transform.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/transform/transform.c 2009-04-27 14:22:02 UTC (rev 19945)
+++ branches/blender2.5/blender/source/blender/editors/transform/transform.c 2009-04-27 15:43:35 UTC (rev 19946)
@@ -985,9 +985,8 @@
RNA_boolean_set(op->ptr, "mirror", t->flag & T_MIRROR);
}
- if (RNA_struct_find_property(op->ptr, "constraint_mode"))
+ if (RNA_struct_find_property(op->ptr, "constraint_axis"))
{
- RNA_int_set(op->ptr, "constraint_mode", t->con.mode);
RNA_int_set(op->ptr, "constraint_orientation", t->current_orientation);
if (t->con.mode & CON_APPLY)
@@ -1038,18 +1037,11 @@
return 0;
}
- initTransformOrientation(C, t);
-
if(t->spacetype == SPACE_VIEW3D)
{
//calc_manipulator_stats(curarea);
- if (t->ar->regiontype == RGN_TYPE_WINDOW)
- {
- RegionView3D *rv3d = t->ar->regiondata;
- Mat3CpyMat4(t->spacemtx, rv3d->twmat);
- }
- Mat3Ortho(t->spacemtx);
-
+ initTransformOrientation(C, t);
+
t->draw_handle = ED_region_draw_cb_activate(t->ar->type, drawTransform, t, REGION_DRAW_POST);
}
else if(t->spacetype == SPACE_IMAGE) {
Modified: branches/blender2.5/blender/source/blender/editors/transform/transform_orientations.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/transform/transform_orientations.c 2009-04-27 14:22:02 UTC (rev 19945)
+++ branches/blender2.5/blender/source/blender/editors/transform/transform_orientations.c 2009-04-27 15:43:35 UTC (rev 19946)
@@ -405,7 +405,6 @@
void applyTransformOrientation(bContext *C, TransInfo *t) {
TransformOrientation *ts;
View3D *v3d = CTX_wm_view3d(C);
- RegionView3D *rv3d= CTX_wm_region_view3d(C);
int selected_index = (v3d->twmode - V3D_MANIP_CUSTOM);
int i;
@@ -414,7 +413,6 @@
if (selected_index == i) {
strcpy(t->spacename, ts->name);
Mat3CpyMat3(t->spacemtx, ts->mat);
- Mat4CpyMat3(rv3d->twmat, ts->mat);
break;
}
}
@@ -448,14 +446,11 @@
void initTransformOrientation(bContext *C, TransInfo *t)
{
View3D *v3d = CTX_wm_view3d(C);
- RegionView3D *rv3d = CTX_wm_region_view3d(C);
Object *ob = CTX_data_active_object(C);
Object *obedit = CTX_data_active_object(C);
float normal[3]={0.0, 0.0, 0.0};
float plane[3]={0.0, 0.0, 0.0};
- if(t->spacetype != SPACE_VIEW3D) return;
-
switch(t->current_orientation) {
case V3D_MANIP_GLOBAL:
strcpy(t->spacename, "global");
@@ -500,29 +495,36 @@
if (type == ORIENTATION_NONE)
{
- Mat4One(rv3d->twmat);
+ Mat3One(t->spacemtx);
}
else
{
- Mat4CpyMat3(rv3d->twmat, mat);
+ Mat3CpyMat3(t->spacemtx, mat);
}
break;
}
/* no break we define 'normal' as 'local' in Object mode */
case V3D_MANIP_LOCAL:
strcpy(t->spacename, "local");
- Mat4CpyMat4(rv3d->twmat, ob->obmat);
- Mat4Ortho(rv3d->twmat);
+ Mat3CpyMat4(t->spacemtx, ob->obmat);
+ Mat3Ortho(t->spacemtx);
break;
case V3D_MANIP_VIEW:
+ if (t->ar->regiontype == RGN_TYPE_WINDOW)
{
+ RegionView3D *rv3d = t->ar->regiondata;
float mat[3][3];
+
strcpy(t->spacename, "view");
Mat3CpyMat4(mat, rv3d->viewinv);
Mat3Ortho(mat);
- Mat4CpyMat3(rv3d->twmat, mat);
+ Mat3CpyMat3(t->spacemtx, mat);
}
+ else
+ {
+ Mat3One(t->spacemtx);
+ }
break;
default: /* V3D_MANIP_CUSTOM */
applyTransformOrientation(C, t);
Modified: branches/blender2.5/blender/source/blender/makesdna/DNA_view3d_types.h
===================================================================
--- branches/blender2.5/blender/source/blender/makesdna/DNA_view3d_types.h 2009-04-27 14:22:02 UTC (rev 19945)
+++ branches/blender2.5/blender/source/blender/makesdna/DNA_view3d_types.h 2009-04-27 15:43:35 UTC (rev 19946)
@@ -78,7 +78,6 @@
float viewinv[4][4];
float persmat[4][4];
float persinv[4][4];
- float twmat[4][4]; /* transform widget */
float viewquat[4], dist, zfac; /* zfac is initgrabz() result */
float camdx, camdy; /* camera view offsets, 1.0 = viewplane moves entire width/height */
More information about the Bf-blender-cvs
mailing list