invertRect should handle negative x or y values

two-column mode combined with showing links in pdf files triggers this bug
pull/2/merge
Dobrica Pavlinusic 12 years ago committed by Qingping Hou
parent 49112513a4
commit 66efe66f61

@ -394,6 +394,29 @@ static int invertRect(lua_State *L) {
uint8_t *dstptr;
int cy, cx;
//printf("## invertRect x=%d y=%d w=%d h=%d\n",x,y,w,h);
if (x < 0) {
if ( x + w > 0 ) {
w = w + x;
x = 0;
} else {
//printf("## invertRect x out of bound\n");
return 0;
}
}
if (y < 0) {
if ( y + h > 0 ) {
h = h + y;
y = 0;
} else {
//printf("## invertRect y out of bound\n");
return 0;
}
}
if(w <= 0 || h <= 0 || x >= dst->w || y >= dst->h) {
return 0;
}

Loading…
Cancel
Save