[Bf-blender-cvs] [79634b4] master: Fix T40637, jittering can cause the mesh to disappear.

Antony Riakiotakis noreply at git.blender.org
Wed Jun 18 20:42:00 CEST 2014


Commit: 79634b4688ee8c66216adde841bb319e655e42c6
Author: Antony Riakiotakis
Date:   Wed Jun 18 21:40:58 2014 +0300
https://developer.blender.org/rB79634b4688ee8c66216adde841bb319e655e42c6

Fix T40637, jittering can cause the mesh to disappear.

Do not do a step when there is no collision of the brush with the mesh.

===================================================================

M	source/blender/editors/sculpt_paint/paint_stroke.c

===================================================================

diff --git a/source/blender/editors/sculpt_paint/paint_stroke.c b/source/blender/editors/sculpt_paint/paint_stroke.c
index 7b91214..9340858 100644
--- a/source/blender/editors/sculpt_paint/paint_stroke.c
+++ b/source/blender/editors/sculpt_paint/paint_stroke.c
@@ -336,8 +336,13 @@ static void paint_brush_stroke_add_step(bContext *C, wmOperator *op, const float
 	}
 
 	/* TODO: can remove the if statement once all modes have this */
-	if (stroke->get_location)
-		stroke->get_location(C, location, mouse_out);
+	if (stroke->get_location) {
+		if (!stroke->get_location(C, location, mouse_out)) {
+			if (ar && (paint->flags & PAINT_SHOW_BRUSH))
+				WM_paint_cursor_tag_redraw(window, ar);
+			return;
+		}
+	}
 	else
 		zero_v3(location);
 
@@ -794,7 +799,7 @@ int paint_stroke_modal(bContext *C, wmOperator *op, const wmEvent *event)
 	if (event->type != INBETWEEN_MOUSEMOVE)
 		if (redraw && stroke->redraw)
 			stroke->redraw(C, stroke, false);
-	
+
 	return OPERATOR_RUNNING_MODAL;
 }




More information about the Bf-blender-cvs mailing list