[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [36644] trunk/blender/source/blender: for bug [#27358] Transform bug when transform > 500

Campbell Barton ideasman42 at gmail.com
Thu May 12 18:47:36 CEST 2011


Revision: 36644
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=36644
Author:   campbellbarton
Date:     2011-05-12 16:47:36 +0000 (Thu, 12 May 2011)
Log Message:
-----------
for bug [#27358] Transform bug when transform > 500
mouse coords would with cont. grab would wrap at short.
use mouse coords as int rather then short.

this problem still happens on linux because of XTranslateCoordinates

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/BKE_sketch.h
    trunk/blender/source/blender/blenkernel/intern/sketch.c
    trunk/blender/source/blender/blenlib/BLI_math_geom.h
    trunk/blender/source/blender/blenlib/intern/math_geom.c
    trunk/blender/source/blender/editors/armature/armature_intern.h
    trunk/blender/source/blender/editors/armature/editarmature.c
    trunk/blender/source/blender/editors/armature/editarmature_sketch.c
    trunk/blender/source/blender/editors/curve/editcurve.c
    trunk/blender/source/blender/editors/gpencil/gpencil_edit.c
    trunk/blender/source/blender/editors/gpencil/gpencil_paint.c
    trunk/blender/source/blender/editors/include/ED_armature.h
    trunk/blender/source/blender/editors/include/ED_curve.h
    trunk/blender/source/blender/editors/include/ED_gpencil.h
    trunk/blender/source/blender/editors/include/ED_mball.h
    trunk/blender/source/blender/editors/include/ED_mesh.h
    trunk/blender/source/blender/editors/include/ED_object.h
    trunk/blender/source/blender/editors/include/ED_particle.h
    trunk/blender/source/blender/editors/include/ED_view3d.h
    trunk/blender/source/blender/editors/interface/interface_ops.c
    trunk/blender/source/blender/editors/interface/interface_regions.c
    trunk/blender/source/blender/editors/interface/view2d.c
    trunk/blender/source/blender/editors/mesh/editface.c
    trunk/blender/source/blender/editors/mesh/editmesh_loop.c
    trunk/blender/source/blender/editors/mesh/editmesh_mods.c
    trunk/blender/source/blender/editors/mesh/editmesh_tools.c
    trunk/blender/source/blender/editors/metaball/mball_edit.c
    trunk/blender/source/blender/editors/object/object_edit.c
    trunk/blender/source/blender/editors/object/object_lattice.c
    trunk/blender/source/blender/editors/physics/particle_edit.c
    trunk/blender/source/blender/editors/sculpt_paint/paint_image.c
    trunk/blender/source/blender/editors/sculpt_paint/paint_vertex.c
    trunk/blender/source/blender/editors/space_graph/graph_select.c
    trunk/blender/source/blender/editors/space_image/image_buttons.c
    trunk/blender/source/blender/editors/space_image/image_draw.c
    trunk/blender/source/blender/editors/space_info/info_report.c
    trunk/blender/source/blender/editors/space_node/node_edit.c
    trunk/blender/source/blender/editors/space_node/node_select.c
    trunk/blender/source/blender/editors/space_node/node_state.c
    trunk/blender/source/blender/editors/space_sequencer/sequencer_add.c
    trunk/blender/source/blender/editors/space_sequencer/sequencer_edit.c
    trunk/blender/source/blender/editors/space_sequencer/sequencer_intern.h
    trunk/blender/source/blender/editors/space_sequencer/sequencer_select.c
    trunk/blender/source/blender/editors/space_text/text_ops.c
    trunk/blender/source/blender/editors/space_text/text_python.c
    trunk/blender/source/blender/editors/space_view3d/drawobject.c
    trunk/blender/source/blender/editors/space_view3d/view3d_draw.c
    trunk/blender/source/blender/editors/space_view3d/view3d_edit.c
    trunk/blender/source/blender/editors/space_view3d/view3d_fly.c
    trunk/blender/source/blender/editors/space_view3d/view3d_select.c
    trunk/blender/source/blender/editors/space_view3d/view3d_view.c
    trunk/blender/source/blender/editors/transform/transform.c
    trunk/blender/source/blender/editors/transform/transform.h
    trunk/blender/source/blender/editors/transform/transform_constraints.c
    trunk/blender/source/blender/editors/transform/transform_input.c
    trunk/blender/source/blender/editors/transform/transform_manipulator.c
    trunk/blender/source/blender/windowmanager/WM_types.h
    trunk/blender/source/blender/windowmanager/intern/wm_event_system.c
    trunk/blender/source/blender/windowmanager/intern/wm_operators.c

Modified: trunk/blender/source/blender/blenkernel/BKE_sketch.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_sketch.h	2011-05-12 13:49:47 UTC (rev 36643)
+++ trunk/blender/source/blender/blenkernel/BKE_sketch.h	2011-05-12 16:47:36 UTC (rev 36644)
@@ -73,8 +73,8 @@
 
 typedef struct SK_DrawData
 {
-	short mval[2];
-	short previous_mval[2];
+	int mval[2];
+	int previous_mval[2];
 	SK_PType type;
 } SK_DrawData;
 
@@ -152,7 +152,7 @@
 
 void sk_updateNextPoint(SK_Sketch *sketch, SK_Stroke *stk);
 
-void sk_initDrawData(SK_DrawData *dd, const short mval[2]);
+void sk_initDrawData(SK_DrawData *dd, const int mval[2]);
 
 void sk_deleteSelectedStrokes(SK_Sketch *sketch);
 void sk_selectAllSketch(SK_Sketch *sketch, int mode);

Modified: trunk/blender/source/blender/blenkernel/intern/sketch.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/sketch.c	2011-05-12 13:49:47 UTC (rev 36643)
+++ trunk/blender/source/blender/blenkernel/intern/sketch.c	2011-05-12 16:47:36 UTC (rev 36644)
@@ -543,7 +543,7 @@
 	return retval;
 }
 
-void sk_initDrawData(SK_DrawData *dd, const short mval[2])
+void sk_initDrawData(SK_DrawData *dd, const int mval[2])
 {
 	dd->mval[0] = mval[0];
 	dd->mval[1] = mval[1];

Modified: trunk/blender/source/blender/blenlib/BLI_math_geom.h
===================================================================
--- trunk/blender/source/blender/blenlib/BLI_math_geom.h	2011-05-12 13:49:47 UTC (rev 36643)
+++ trunk/blender/source/blender/blenlib/BLI_math_geom.h	2011-05-12 16:47:36 UTC (rev 36644)
@@ -77,7 +77,7 @@
 #define ISECT_LINE_LINE_CROSS		 2
 
 int isect_line_line_v2(const float a1[2], const float a2[2], const float b1[2], const float b2[2]);
-int isect_line_line_v2_short(const short a1[2], const short a2[2], const short b1[2], const short b2[2]);
+int isect_line_line_v2_int(const int a1[2], const int a2[2], const int b1[2], const int b2[2]);
 int isect_seg_seg_v2_point(const float v1[2], const float v2[2], const float v3[2], const float v4[2], float vi[2]);
 
 /* Returns the number of point of interests

Modified: trunk/blender/source/blender/blenlib/intern/math_geom.c
===================================================================
--- trunk/blender/source/blender/blenlib/intern/math_geom.c	2011-05-12 13:49:47 UTC (rev 36643)
+++ trunk/blender/source/blender/blenlib/intern/math_geom.c	2011-05-12 16:47:36 UTC (rev 36644)
@@ -239,7 +239,7 @@
 /******************************* Intersection ********************************/
 
 /* intersect Line-Line, shorts */
-int isect_line_line_v2_short(const short v1[2], const short v2[2], const short v3[2], const short v4[2])
+int isect_line_line_v2_int(const int v1[2], const int v2[2], const int v3[2], const int v4[2])
 {
 	float div, labda, mu;
 	

Modified: trunk/blender/source/blender/editors/armature/armature_intern.h
===================================================================
--- trunk/blender/source/blender/editors/armature/armature_intern.h	2011-05-12 13:49:47 UTC (rev 36643)
+++ trunk/blender/source/blender/editors/armature/armature_intern.h	2011-05-12 16:47:36 UTC (rev 36644)
@@ -206,7 +206,7 @@
 /* editarmature.c */
 
 EditBone *make_boneList(struct ListBase *edbo, struct ListBase *bones, struct EditBone *parent, struct Bone *actBone);
-void BIF_sk_selectStroke(struct bContext *C, const short mval[2], short extend);
+void BIF_sk_selectStroke(struct bContext *C, const int mval[2], short extend);
 
 /* duplicate method */
 void preEditBoneDuplicate(struct ListBase *editbones);

Modified: trunk/blender/source/blender/editors/armature/editarmature.c
===================================================================
--- trunk/blender/source/blender/editors/armature/editarmature.c	2011-05-12 13:49:47 UTC (rev 36643)
+++ trunk/blender/source/blender/editors/armature/editarmature.c	2011-05-12 16:47:36 UTC (rev 36644)
@@ -1698,7 +1698,7 @@
 
 /* does bones and points */
 /* note that BONE ROOT only gets drawn for root bones (or without IK) */
-static EditBone *get_nearest_editbonepoint (ViewContext *vc, const short mval[2], ListBase *edbo, int findunsel, int *selmask)
+static EditBone *get_nearest_editbonepoint (ViewContext *vc, const int mval[2], ListBase *edbo, int findunsel, int *selmask)
 {
 	EditBone *ebone;
 	rcti rect;
@@ -1958,7 +1958,7 @@
 }
 
 /* context: editmode armature in view3d */
-int mouse_armature(bContext *C, const short mval[2], int extend)
+int mouse_armature(bContext *C, const int mval[2], int extend)
 {
 	Object *obedit= CTX_data_edit_object(C);
 	bArmature *arm= obedit->data;
@@ -2499,7 +2499,7 @@
 	View3D *v3d;
 	RegionView3D *rv3d;
 	float dx, dy, fz, *fp = NULL, dvec[3], oldcurs[3];
-	short mx, my, mval[2];
+	int mx, my, mval[2];
 	int retv;
 
 	scene= CTX_data_scene(C);
@@ -2513,7 +2513,7 @@
 	
 	mx= event->x - ar->winrct.xmin;
 	my= event->y - ar->winrct.ymin;
-	project_short_noclip(ar, fp, mval);
+	project_int_noclip(ar, fp, mval);
 	
 	initgrabz(rv3d, fp[0], fp[1], fp[2]);
 	

Modified: trunk/blender/source/blender/editors/armature/editarmature_sketch.c
===================================================================
--- trunk/blender/source/blender/editors/armature/editarmature_sketch.c	2011-05-12 13:49:47 UTC (rev 36643)
+++ trunk/blender/source/blender/editors/armature/editarmature_sketch.c	2011-05-12 16:47:36 UTC (rev 36644)
@@ -702,7 +702,7 @@
 	}
 }
 
-static SK_Point *sk_snapPointStroke(bContext *C, SK_Stroke *stk, short mval[2], int *dist, int *index, int all_pts)
+static SK_Point *sk_snapPointStroke(bContext *C, SK_Stroke *stk, int mval[2], int *dist, int *index, int all_pts)
 {
 	ARegion *ar = CTX_wm_region(C);
 	SK_Point *pt = NULL;
@@ -736,7 +736,7 @@
 }
 
 #if 0 /* UNUSED 2.5 */
-static SK_Point *sk_snapPointArmature(bContext *C, Object *ob, ListBase *ebones, short mval[2], int *dist)
+static SK_Point *sk_snapPointArmature(bContext *C, Object *ob, ListBase *ebones, int mval[2], int *dist)
 {
 	ARegion *ar = CTX_wm_region(C);
 	SK_Point *pt = NULL;
@@ -2157,7 +2157,7 @@
 /********************************************/
 
 
-static int sk_selectStroke(bContext *C, SK_Sketch *sketch, const short mval[2], int extend)
+static int sk_selectStroke(bContext *C, SK_Sketch *sketch, const int mval[2], int extend)
 {
 	ViewContext vc;
 	rcti rect;
@@ -2473,7 +2473,7 @@
 	return OPERATOR_FINISHED;
 }
 
-void BIF_sk_selectStroke(bContext *C, const short mval[2], short extend)
+void BIF_sk_selectStroke(bContext *C, const int mval[2], short extend)
 {
 	ToolSettings *ts = CTX_data_tool_settings(C);
 	SK_Sketch *sketch = contextSketch(C, 0);

Modified: trunk/blender/source/blender/editors/curve/editcurve.c
===================================================================
--- trunk/blender/source/blender/editors/curve/editcurve.c	2011-05-12 13:49:47 UTC (rev 36643)
+++ trunk/blender/source/blender/editors/curve/editcurve.c	2011-05-12 16:47:36 UTC (rev 36644)
@@ -4169,7 +4169,7 @@
 
 /***************** pick select from 3d view **********************/
 
-int mouse_nurb(bContext *C, const short mval[2], int extend)
+int mouse_nurb(bContext *C, const int mval[2], int extend)
 {
 	Object *obedit= CTX_data_edit_object(C); 
 	Curve *cu= obedit->data;
@@ -4666,7 +4666,7 @@
 		Curve *cu;
 		ViewContext vc;
 		float location[3];
-		short mval[2];
+		int mval[2];
 
 		Nurb *nu;
 		BezTriple *bezt;

Modified: trunk/blender/source/blender/editors/gpencil/gpencil_edit.c
===================================================================
--- trunk/blender/source/blender/editors/gpencil/gpencil_edit.c	2011-05-12 13:49:47 UTC (rev 36643)
+++ trunk/blender/source/blender/editors/gpencil/gpencil_edit.c	2011-05-12 16:47:36 UTC (rev 36644)
@@ -378,7 +378,7 @@
 	else {
 		float *fp= give_cursor(scene, v3d);
 		float dvec[3];
-		short mval[2];
+		int mval[2];
 		int mx, my;
 		
 		/* get screen coordinate */
@@ -390,13 +390,13 @@
 			mx= (int)(pt->x / 100 * ar->winx);
 			my= (int)(pt->y / 100 * ar->winy);
 		}
-		mval[0]= (short)mx;
-		mval[1]= (short)my;
+		mval[0]= mx;
+		mval[1]= my;
 		
 		/* convert screen coordinate to 3d coordinates 
 		 *	- method taken from editview.c - mouse_cursor() 
 		 */
-		project_short_noclip(ar, fp, mval);
+		project_int_noclip(ar, fp, mval);
 		window_to_3d(ar, dvec, mval[0]-mx, mval[1]-my);
 		sub_v3_v3v3(p3d, fp, dvec);
 	}

Modified: trunk/blender/source/blender/editors/gpencil/gpencil_paint.c
===================================================================
--- trunk/blender/source/blender/editors/gpencil/gpencil_paint.c	2011-05-12 13:49:47 UTC (rev 36643)
+++ trunk/blender/source/blender/editors/gpencil/gpencil_paint.c	2011-05-12 16:47:36 UTC (rev 36644)
@@ -239,7 +239,7 @@
 
 /* convert screen-coordinates to buffer-coordinates */
 // XXX this method needs a total overhaul!
-static void gp_stroke_convertcoords (tGPsdata *p, short mval[2], float out[3], float *depth)
+static void gp_stroke_convertcoords (tGPsdata *p, int mval[2], float out[3], float *depth)
 {
 	bGPdata *gpd= p->gpd;
 	
@@ -251,7 +251,7 @@
 			 */
 		}
 		else {
-			const short mx=mval[0], my=mval[1];
+			const int mx=mval[0], my=mval[1];
 			float rvec[3], dvec[3];
 			
 			/* Current method just converts each point in screen-coordinates to
@@ -266,7 +266,7 @@
 			gp_get_3d_reference(p, rvec);
 			
 			/* method taken from editview.c - mouse_cursor() */
-			project_short_noclip(p->ar, rvec, mval);
+			project_int_noclip(p->ar, rvec, mval);
 			window_to_3d_delta(p->ar, dvec, mval[0]-mx, mval[1]-my);
 			sub_v3_v3v3(out, rvec, dvec);
 		}
@@ -387,8 +387,8 @@
 
 /* temp struct for gp_stroke_smooth() */
 typedef struct tGpSmoothCo {
-	short x;
-	short y;
+	int x;
+	int y;
 } tGpSmoothCo;
 
 /* smooth a stroke (in buffer) before storing it */
@@ -417,8 +417,8 @@
 		const tGPspoint *pd= (i+1 < cmx)?(pc+1):(pc);
 		const tGPspoint *pe= (i+2 < cmx)?(pc+2):(pd);
 		
-		spc->x= (short)(0.1*pa->x + 0.2*pb->x + 0.4*pc->x + 0.2*pd->x + 0.1*pe->x);
-		spc->y= (short)(0.1*pa->y + 0.2*pb->y + 0.4*pc->y + 0.2*pd->y + 0.1*pe->y);
+		spc->x= (int)(0.1*pa->x + 0.2*pb->x + 0.4*pc->x + 0.2*pd->x + 0.1*pe->x);
+		spc->y= (int)(0.1*pa->y + 0.2*pb->y + 0.4*pc->y + 0.2*pd->y + 0.1*pe->y);
 	}
 	
 	/* second pass: apply smoothed coordinates */
@@ -574,7 +574,7 @@
 		
 		/* get an array of depths, far depths are blended */
 		if (gpencil_project_check(p)) {
-			short mval[2], mval_prev[2]= {0};
+			int mval[2], mval_prev[2]= {0};

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list