From 82b60ba5ca7f83b6da677975b21d05247ac79134 Mon Sep 17 00:00:00 2001 From: Jacob1 Date: Thu, 24 May 2012 11:26:25 -0400 Subject: [PATCH] fix lua console freeze/bugs --- src/luaconsole.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) 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; }