Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2012-11-09 12:28:14 +0400
committerCampbell Barton <ideasman42@gmail.com>2012-11-09 12:28:14 +0400
commiteff734203ff7a0f4a4f97015c9f1f59632c75abf (patch)
tree8bcb05093f6a87ae154293e0b397f905e534669e
parent9dcd7f3b0b55e49a18296a67863368a0c4fca8b0 (diff)
add fallbacks for BM_vert_calc_shell_factor() and BM_vert_calc_mean_tagged_edge_length() to avoid divide by zero when a vertex has no connected geometry.
also style cleanup.
-rw-r--r--source/blender/blenkernel/intern/anim.c6
-rw-r--r--source/blender/blenlib/PIL_time.h7
-rw-r--r--source/blender/bmesh/intern/bmesh_queries.c14
-rw-r--r--source/blender/bmesh/operators/bmo_bevel.c3
-rw-r--r--source/blender/editors/space_view3d/view3d_draw.c2
-rw-r--r--source/blender/editors/transform/transform.c2
-rw-r--r--source/blender/windowmanager/intern/wm_event_system.c9
7 files changed, 29 insertions, 14 deletions
diff --git a/source/blender/blenkernel/intern/anim.c b/source/blender/blenkernel/intern/anim.c
index 1aed26db48d..f5c0660371b 100644
--- a/source/blender/blenkernel/intern/anim.c
+++ b/source/blender/blenkernel/intern/anim.c
@@ -727,7 +727,7 @@ static DupliObject *new_dupli_object(ListBase *lb, Object *ob, float mat[][4], i
* goes first in the array. */
dob->persistent_id[0] = index;
for (i = 1; i < level; i++)
- dob->persistent_id[i] = persistent_id[level-1-i];
+ dob->persistent_id[i] = persistent_id[level - 1 - i];
/* metaballs never draw in duplis, they are instead merged into one by the basis
* mball outside of the group. this does mean that if that mball is not in the
@@ -1647,7 +1647,7 @@ static void object_duplilist_recursive(ID *id, Scene *scene, Object *ob, ListBas
/* keep track of persistent id */
if (level > 0)
- persistent_id[level-1] = index;
+ persistent_id[level - 1] = index;
if (ob->transflag & OB_DUPLIPARTS) {
ParticleSystem *psys = ob->particlesystem.first;
@@ -1694,7 +1694,7 @@ static void object_duplilist_recursive(ID *id, Scene *scene, Object *ob, ListBas
/* clear persistent id */
if (level > 0)
- persistent_id[level-1] = 0;
+ persistent_id[level - 1] = 0;
}
/* Returns a list of DupliObject
diff --git a/source/blender/blenlib/PIL_time.h b/source/blender/blenlib/PIL_time.h
index afad190ba23..c3e7e8486d9 100644
--- a/source/blender/blenlib/PIL_time.h
+++ b/source/blender/blenlib/PIL_time.h
@@ -20,7 +20,7 @@
*
* The Original Code is: all of this file.
*
- * Contributor(s): none yet.
+ * Contributor(s): Campbell Barton
*
* ***** END GPL LICENSE BLOCK *****
*/
@@ -76,7 +76,10 @@ void PIL_sleep_ms(int ms);
fflush(stdout); \
} (void)0
-
+/**
+ * Given some function/expression:
+ * TIMEIT_BENCH(some_function(), some_unique_description);
+ */
#define TIMEIT_BENCH(expr, id) \
{ \
TIMEIT_START(id); \
diff --git a/source/blender/bmesh/intern/bmesh_queries.c b/source/blender/bmesh/intern/bmesh_queries.c
index ed36a86274c..8eb87cf29be 100644
--- a/source/blender/bmesh/intern/bmesh_queries.c
+++ b/source/blender/bmesh/intern/bmesh_queries.c
@@ -1024,7 +1024,12 @@ float BM_vert_calc_shell_factor(BMVert *v)
accum_angle += face_angle;
}
- return accum_shell / accum_angle;
+ if (accum_angle != 0.0f) {
+ return accum_shell / accum_angle;
+ }
+ else {
+ return 1.0f;
+ }
}
/**
@@ -1045,7 +1050,12 @@ float BM_vert_calc_mean_tagged_edge_length(BMVert *v)
}
}
- return length / (float)tot;
+ if (tot) {
+ return length / (float)tot;
+ }
+ else {
+ return 0.0f;
+ }
}
diff --git a/source/blender/bmesh/operators/bmo_bevel.c b/source/blender/bmesh/operators/bmo_bevel.c
index 8ced18d6d90..50d3598dba2 100644
--- a/source/blender/bmesh/operators/bmo_bevel.c
+++ b/source/blender/bmesh/operators/bmo_bevel.c
@@ -1155,8 +1155,7 @@ static void bevel_vert_construct(BMesh *bm, BevelParams *bp, BMOperator *op, BMV
/* Gather input selected edges.
* Only bevel selected edges that have exactly two incident faces. */
BMO_ITER (bme, &siter, bm, op, "geom", BM_EDGE) {
- if ((bme->v1 == v) || (BM_edge_other_vert(bme, bme->v1) == v))
- {
+ if ((bme->v1 == v) || (BM_edge_other_vert(bme, bme->v1) == v)) {
if (BM_edge_face_count(bme) == 2) {
BMO_elem_flag_enable(bm, bme, EDGE_SELECTED);
nsel++;
diff --git a/source/blender/editors/space_view3d/view3d_draw.c b/source/blender/editors/space_view3d/view3d_draw.c
index 60cf9a3c4c4..db74179b569 100644
--- a/source/blender/editors/space_view3d/view3d_draw.c
+++ b/source/blender/editors/space_view3d/view3d_draw.c
@@ -1214,7 +1214,7 @@ static void drawviewborder(Scene *scene, ARegion *ar, View3D *v3d)
hmargin = 0.1f * (x2 - x1);
vmargin = 0.05f * (y2 - y1);
- uiDrawBox(GL_LINE_LOOP, x1 + hmargin, y1+vmargin, x2 - hmargin, y2 - vmargin, 2.0f);
+ uiDrawBox(GL_LINE_LOOP, x1 + hmargin, y1 + vmargin, x2 - hmargin, y2 - vmargin, 2.0f);
hmargin = 0.035f * (x2 - x1);
vmargin = 0.035f * (y2 - y1);
diff --git a/source/blender/editors/transform/transform.c b/source/blender/editors/transform/transform.c
index 961e5c49ab2..1334db63865 100644
--- a/source/blender/editors/transform/transform.c
+++ b/source/blender/editors/transform/transform.c
@@ -1223,7 +1223,7 @@ int transformEvent(TransInfo *t, wmEvent *event)
break;
case LEFTALTKEY:
case RIGHTALTKEY:
- if (ELEM(t->spacetype ,SPACE_SEQ, SPACE_VIEW3D)) {
+ if (ELEM(t->spacetype, SPACE_SEQ, SPACE_VIEW3D)) {
t->flag |= T_ALT_TRANSFORM;
t->redraw |= TREDRAW_HARD;
}
diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c
index 236ab264f8c..14244de00f6 100644
--- a/source/blender/windowmanager/intern/wm_event_system.c
+++ b/source/blender/windowmanager/intern/wm_event_system.c
@@ -2979,9 +2979,12 @@ void wm_event_add_ghostevent(wmWindowManager *wm, wmWindow *win, int type, int U
event.keymodifier = 0;
/* if test_break set, it catches this. Do not set with modifier presses. XXX Keep global for now? */
- if (event.type == ESCKEY && event.val == KM_PRESS &&
- event.shift == 0 && event.ctrl == 0 && event.alt == 0)
- G.is_break = TRUE;
+ if ((event.type == ESCKEY && event.val == KM_PRESS) &&
+ /* check other modifiers because ms-windows uses these to bring up the task manager */
+ (event.shift == 0 && event.ctrl == 0 && event.alt == 0))
+ {
+ G.is_break = TRUE;
+ }
/* double click test - only for press */
if (event.val == KM_PRESS) {