forked from enlightenment/efl
protect against people providing out-of-bounds u&v coords in map.
SVN revision: 56313
This commit is contained in:
parent
9bfc56caf3
commit
725e7cd0d7
|
@ -2477,6 +2477,10 @@ evas_object_image_render(Evas_Object *obj, void *output, void *context, void *su
|
|||
pt->fz = p->z;
|
||||
pt->u = p->u * FP1;
|
||||
pt->v = p->v * FP1;
|
||||
if (pt->u < 0) pt->u = 0;
|
||||
else if (pt->u > (o->cur.image.w * FP1)) pt->u = (o->cur.image.w * FP1);
|
||||
if (pt->v < 0) pt->v = 0;
|
||||
else if (pt->v > (o->cur.image.h * FP1)) pt->v = (o->cur.image.h * FP1);
|
||||
pt->col = ARGB_JOIN(p->a, p->r, p->g, p->b);
|
||||
}
|
||||
obj->layer->evas->engine.func->image_map4_draw
|
||||
|
|
|
@ -733,6 +733,10 @@ evas_render_mapped(Evas *e, Evas_Object *obj, void *context, void *surface,
|
|||
pt->fz = p->z;
|
||||
pt->u = p->u * FP1;
|
||||
pt->v = p->v * FP1;
|
||||
if (pt->u < 0) pt->u = 0;
|
||||
else if (pt->u > (sw * FP1)) pt->u = (sw * FP1);
|
||||
if (pt->v < 0) pt->v = 0;
|
||||
else if (pt->v > (sh * FP1)) pt->v = (sh * FP1);
|
||||
pt->col = ARGB_JOIN(p->a, p->r, p->g, p->b);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue