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:
Diffstat (limited to 'source/blender/editors/sculpt_paint/paint_image_proj.c')
-rw-r--r--source/blender/editors/sculpt_paint/paint_image_proj.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/source/blender/editors/sculpt_paint/paint_image_proj.c b/source/blender/editors/sculpt_paint/paint_image_proj.c
index a58b1947b0c..75834e019f5 100644
--- a/source/blender/editors/sculpt_paint/paint_image_proj.c
+++ b/source/blender/editors/sculpt_paint/paint_image_proj.c
@@ -1081,10 +1081,11 @@ static bool pixel_bounds_uv(const float uv_quad[4][2],
#endif
static bool pixel_bounds_array(
- float (*uv)[2], rcti *bounds_px, const int ibuf_x, const int ibuf_y, int tot)
+ float (*in_uv)[2], rcti *bounds_px, const int ibuf_x, const int ibuf_y, int tot)
{
/* UV bounds */
float min_uv[2], max_uv[2];
+ float(*uv)[2] = in_uv;
if (tot == 0) {
return false;
@@ -1092,9 +1093,8 @@ static bool pixel_bounds_array(
INIT_MINMAX2(min_uv, max_uv);
- while (tot--) {
+ for (int i = 0; i < tot; i++, uv++) {
minmax_v2v2_v2(min_uv, max_uv, (*uv));
- uv++;
}
bounds_px->xmin = (int)(ibuf_x * min_uv[0]);
@@ -1103,6 +1103,15 @@ static bool pixel_bounds_array(
bounds_px->xmax = (int)(ibuf_x * max_uv[0]) + 1;
bounds_px->ymax = (int)(ibuf_y * max_uv[1]) + 1;
+ const int d = -1000;
+ if (bounds_px->xmin < d || bounds_px->ymin < d || bounds_px->xmax < d || bounds_px->ymax < d) {
+ printf("error! xmin %d xmax %d ymin %d ymax %d\n",
+ bounds_px->xmin,
+ bounds_px->xmax,
+ bounds_px->ymin,
+ bounds_px->ymax);
+ }
+
// printf("%d %d %d %d\n", min_px[0], min_px[1], max_px[0], max_px[1]);
/* face uses no UV area when quantized to pixels? */