diff --git a/src/luaconsole.c b/src/luaconsole.c index 65320cefa..5e6eebc4c 100644 --- a/src/luaconsole.c +++ b/src/luaconsole.c @@ -1476,9 +1476,9 @@ int luatpt_drawrect(lua_State* l) if (x<0 || y<0 || x>=XRES+BARSIZE || y>=YRES+MENUSIZE) return luaL_error(l, "Screen coordinates out of range (%d,%d)", x, y); if(x+w > XRES+BARSIZE) - w = XRES-x; + w = XRES+BARSIZE-x; if(y+h > YRES+MENUSIZE) - h = YRES-y; + h = YRES+MENUSIZE-y; if (r<0) r = 0; if (r>255) r = 255; if (g<0) g = 0; @@ -1510,9 +1510,9 @@ int luatpt_fillrect(lua_State* l) if (x<0 || y<0 || x>=XRES+BARSIZE || y>=YRES+MENUSIZE) return luaL_error(l, "Screen coordinates out of range (%d,%d)", x, y); if(x+w > XRES+BARSIZE) - w = XRES-x; + w = XRES+BARSIZE-x; if(y+h > YRES+MENUSIZE) - h = YRES-y; + h = YRES+MENUSIZE-y; if (r<0) r = 0; if (r>255) r = 255; if (g<0) g = 0; @@ -1907,6 +1907,8 @@ int luatpt_setdebug(lua_State* l) int luatpt_setfpscap(lua_State* l) { int fpscap = luaL_optint(l, 1, 0); + if (fpscap < 2) + return luaL_error(l, "fps cap too small"); limitFPS = fpscap; return 0; }