[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [33843] trunk/blender/source/blender: bugfix [#25335] crash with file, console told me to report! svn 33836

Campbell Barton ideasman42 at gmail.com
Wed Dec 22 03:28:11 CET 2010


Revision: 33843
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=33843
Author:   campbellbarton
Date:     2010-12-22 03:28:06 +0100 (Wed, 22 Dec 2010)

Log Message:
-----------
bugfix [#25335] crash with file, console told me to report! svn 33836
view rotate precision was lost over time, make view3d rotate normalize rv3d->viewquat.

note, this no longer crashes blender, just prints.
also commented some RegionView3D struct members.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/space_view3d/view3d_edit.c
    trunk/blender/source/blender/makesdna/DNA_view3d_types.h

Modified: trunk/blender/source/blender/editors/space_view3d/view3d_edit.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_edit.c	2010-12-22 00:30:22 UTC (rev 33842)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_edit.c	2010-12-22 02:28:06 UTC (rev 33843)
@@ -690,6 +690,9 @@
 	vod->oldx= x;
 	vod->oldy= y;
 
+	/* avoid precission loss over time */
+	normalize_qt(rv3d->viewquat);
+
 	ED_region_tag_redraw(vod->ar);
 }
 

Modified: trunk/blender/source/blender/makesdna/DNA_view3d_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_view3d_types.h	2010-12-22 00:30:22 UTC (rev 33842)
+++ trunk/blender/source/blender/makesdna/DNA_view3d_types.h	2010-12-22 02:28:06 UTC (rev 33843)
@@ -89,11 +89,13 @@
 
 	/* transform widget matrix */
 	float twmat[4][4];
-	
-	float viewquat[4], dist, zfac;	/* zfac is initgrabz() result */
-	float camdx, camdy;				/* camera view offsets, 1.0 = viewplane moves entire width/height */
-	float pixsize;
-	float ofs[3];
+
+	float viewquat[4];			/* view rotation, must be kept normalized */
+	float dist;					/* distance from 'ofs' along -viewinv[2] vector, where result is negative as is 'ofs' */
+	float zfac;					/* initgrabz() result */
+	float camdx, camdy;			/* camera view offsets, 1.0 = viewplane moves entire width/height */
+	float pixsize;				/* runtime only */
+	float ofs[3];				/* view center & orbit pivot, negative of worldspace location */
 	short camzoom;
 	short twdrawflag;
 	int pad;





More information about the Bf-blender-cvs mailing list