diff --git a/src/syncterm/ripper.c b/src/syncterm/ripper.c index a2807b808c8849cb47bf302d826bf3c14cd8afd9..ffc5eb712288560beeefa0c389aa96f567d82529 100644 --- a/src/syncterm/ripper.c +++ b/src/syncterm/ripper.c @@ -8090,9 +8090,10 @@ rv_termset(const char * const var, const void * const data) rip.y_dim = 350; pthread_mutex_lock(&vstatlock); rip.x_max = vstat.scrnwidth; + rip.y_max = vstat.scrnheight; + pthread_mutex_unlock(&vstatlock); if (rip.x_max > rip.x_dim) rip.x_max = rip.x_dim; - rip.y_max = vstat.scrnheight; if (rip.y_max > rip.y_dim) rip.y_max = rip.y_dim; @@ -8105,7 +8106,6 @@ rv_termset(const char * const var, const void * const data) FREE_AND_NULL(rip.ymap); FREE_AND_NULL(rip.xunmap); FREE_AND_NULL(rip.yunmap); - pthread_mutex_unlock(&vstatlock); return NULL; } break; @@ -11708,9 +11708,10 @@ do_rip_command(int level, int sublevel, int cmd, const char *rawargs) rip.y_dim = y1; pthread_mutex_lock(&vstatlock); rip.x_max = vstat.scrnwidth; + rip.y_max = vstat.scrnheight; + pthread_mutex_unlock(&vstatlock); if (rip.x_max > rip.x_dim) rip.x_max = rip.x_dim; - rip.y_max = vstat.scrnheight; if (rip.y_max > rip.y_dim) rip.y_max = rip.y_dim; @@ -11723,7 +11724,6 @@ do_rip_command(int level, int sublevel, int cmd, const char *rawargs) FREE_AND_NULL(rip.ymap); FREE_AND_NULL(rip.xunmap); FREE_AND_NULL(rip.yunmap); - pthread_mutex_unlock(&vstatlock); break; case 'g': // RIP_GOTOXY !|g <x> <y> /* This command sets the position of the text cursor in the TTY @@ -16149,13 +16149,13 @@ init_rip(struct bbslist *bbs) if (cio_api.options & CONIO_OPT_SET_PIXEL) { pthread_mutex_lock(&vstatlock); rip.x_max = vstat.scrnwidth; + rip.y_max = vstat.scrnheight; + pthread_mutex_unlock(&vstatlock); if (rip.x_max > rip.x_dim) rip.x_max = rip.x_dim; rip.y_dim = 350; - rip.y_max = vstat.scrnheight; if (rip.y_max > rip.y_dim) rip.y_max = rip.y_dim; - pthread_mutex_unlock(&vstatlock); } rip.viewport.ex = rip.x_dim - 1; rip.viewport.ey = rip.y_dim - 1;