mirror of
https://github.com/tmux/tmux.git
synced 2025-09-14 23:38:18 +00:00
Calculate size when trimming RHS correctly.
This commit is contained in:
21
tty.c
21
tty.c
@@ -936,8 +936,13 @@ tty_clamp_line(struct tty *tty, const struct tty_ctx *ctx, u_int px, u_int py,
|
||||
/* Right not visible. */
|
||||
*i = 0;
|
||||
*x = (ctx->xoff + px) - ctx->ox;
|
||||
*rx = nx - ((ctx->xoff + px) + nx - ctx->sx);
|
||||
*rx = ctx->sx - *x;
|
||||
}
|
||||
if (*rx > nx)
|
||||
fatalx("%s: x too big, %u > %u", __func__, *rx, nx);
|
||||
if (nx > *rx)
|
||||
*rx = nx;
|
||||
|
||||
return (1);
|
||||
}
|
||||
|
||||
@@ -1028,8 +1033,13 @@ tty_clamp_area(struct tty *tty, const struct tty_ctx *ctx, u_int px, u_int py,
|
||||
/* Right not visible. */
|
||||
*i = 0;
|
||||
*x = (ctx->xoff + px) - ctx->ox;
|
||||
*rx = nx - ((ctx->xoff + px) + nx - ctx->sx);
|
||||
*rx = ctx->sx - *x;
|
||||
}
|
||||
if (*rx > nx)
|
||||
fatalx("%s: x too big, %u > %u", __func__, *rx, nx);
|
||||
if (nx > *rx)
|
||||
*rx = nx;
|
||||
|
||||
if (yoff >= ctx->oy && yoff + ny <= ctx->oy + ctx->sy) {
|
||||
/* All visible. */
|
||||
*j = 0;
|
||||
@@ -1049,8 +1059,13 @@ tty_clamp_area(struct tty *tty, const struct tty_ctx *ctx, u_int px, u_int py,
|
||||
/* Right not visible. */
|
||||
*j = 0;
|
||||
*y = (ctx->yoff + py) - ctx->oy;
|
||||
*ry = ny - ((ctx->yoff + py) + ny - ctx->sy);
|
||||
*ry = ctx->sy - *y;
|
||||
}
|
||||
if (*ry > ny)
|
||||
fatalx("%s: y too big, %u > %u", __func__, *ry, ny);
|
||||
if (ny > *ry)
|
||||
*ry = ny;
|
||||
|
||||
return (1);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user