mirror of
https://github.com/love2d/love.git
synced 2026-08-15 15:51:12 +02:00
Error if the coordinates given to Canvas:getPIxel are not within [0, dimensions).
This commit is contained in:
@@ -410,7 +410,7 @@ void luax_pushtype(lua_State *L, const char *name, bits flags, love::Object *obj
|
||||
return luax_rawnewtype(L, name, flags, object);
|
||||
}
|
||||
|
||||
// Get the value of lovetypes[data] on the stack.
|
||||
// Get the value of lovetypes[object] on the stack.
|
||||
lua_pushlightuserdata(L, (void *) object);
|
||||
lua_gettable(L, -2);
|
||||
|
||||
@@ -424,7 +424,7 @@ void luax_pushtype(lua_State *L, const char *name, bits flags, love::Object *obj
|
||||
lua_pushlightuserdata(L, (void *) object);
|
||||
lua_pushvalue(L, -2);
|
||||
|
||||
// lovetypes[data] = Proxy.
|
||||
// lovetypes[object] = Proxy.
|
||||
lua_settable(L, -4);
|
||||
}
|
||||
|
||||
|
||||
@@ -891,6 +891,9 @@ love::image::ImageData *Canvas::getImageData(love::image::Image *image)
|
||||
|
||||
void Canvas::getPixel(unsigned char* pixel_rgba, int x, int y)
|
||||
{
|
||||
if (x < 0 || x >= width || y < 0 || y >= width)
|
||||
throw love::Exception("Attempt to get out-of-range pixel (%d,%d)!", x, y);
|
||||
|
||||
resolveMSAA();
|
||||
|
||||
// Our texture is attached to 'resolve_fbo' when we use MSAA.
|
||||
|
||||
Reference in New Issue
Block a user