Commit: 9888e1e3d4fcb1e0089a78e69beafcce378727b7
Author: Julian Eisel
Date: Tue Nov 29 13:02:12 2016 +0100
Branches: transform-manipulators
https://developer.blender.org/rB9888e1e3d4fcb1e0089a78e69beafcce378727b7
Fix out of bound array access
And other minor fixes.
===================================================================
M
source/blender/windowmanager/manipulators/intern/manipulator_library/dial_manipulator.c
===================================================================
diff --git
a/source/blender/windowmanager/manipulators/intern/manipulator_library/dial_manipulator.c
b/source/blender/windowmanager/manipulators/intern/manipulator_library/dial_manipulator.c
index b8eb90a..ffc3837 100644
---
a/source/blender/windowmanager/manipulators/intern/manipulator_library/dial_manipulator.c
+++
b/source/blender/windowmanager/manipulators/intern/manipulator_library/dial_manipulator.c
@@ -81,9 +81,9 @@ typedef struct DialInteraction {
/* -------------------------------------------------------------------- */
static void dial_geom_draw(
- const DialManipulator *dial, const float mat[4][4], const float
clipping_plane[3], const float col[4])
+ const DialManipulator *dial, const float mat[4][4], const float
clipping_plane[4], const float col[4])
{
- const bool is_active = dial->manipulator.interaction_data;
+ const bool is_active = (dial->manipulator.interaction_data != NULL);
const bool use_clipping = (dial->style ==
MANIPULATOR_DIAL_STYLE_RING_CLIPPED) && !is_active;
const bool filled = (dial->style == MANIPULATOR_DIAL_STYLE_RING_FILLED);
const unsigned int pos = add_attrib(immVertexFormat(), "pos", GL_FLOAT,
3, KEEP_FLOAT);
@@ -160,7 +160,7 @@ static void dial_geom_value_indicator_draw(
dial_ghostarc_draw_inner(inter->value_indicator_offset, angle,
col_inner);
}
-static void dial_clipping_plane_get(DialManipulator *dial, RegionView3D *rv3d,
float r_clipping_plane[3])
+static void dial_clipping_plane_get(DialManipulator *dial, RegionView3D *rv3d,
float r_clipping_plane[4])
{
copy_v3_v3(r_clipping_plane, rv3d->viewinv[2]);
r_clipping_plane[3] = -dot_v3v3(rv3d->viewinv[2],
dial->manipulator.origin);
@@ -183,7 +183,7 @@ static void dial_draw_intern(const bContext *C,
DialManipulator *dial, const boo
const bool is_active = (inter != NULL);
const bool use_value_indicator = is_active && (dial->manipulator.flag &
WM_MANIPULATOR_DRAW_ACTIVE);
const bool use_clipping = (dial->style ==
MANIPULATOR_DIAL_STYLE_RING_CLIPPED) && !is_active;
- float clipping_plane[3];
+ float clipping_plane[4];
float mat[4][4];
float col[4];
@@ -298,7 +298,6 @@ wmManipulator *WM_dial_manipulator_new(wmManipulatorGroup
*mgroup, const char *n
const float dir_default[3] = {0.0f, 0.0f, 1.0f};
dial->manipulator.draw = manipulator_dial_draw;
- dial->manipulator.intersect = NULL;
dial->manipulator.render_3d_intersection =
manipulator_dial_render_3d_intersect;
dial->manipulator.invoke = manipulator_dial_invoke;
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs