Remove check code for tracking down what turned out to be a Apple bug.

This commit is contained in:
Nicholas Marriott
2026-10-12 17:39:48 +01:00
parent 58eb73a6d1
commit 77f39c9df9
4 changed files with 4 additions and 56 deletions

50
grid.c
View File

@@ -18,9 +18,6 @@
#include <sys/types.h> #include <sys/types.h>
#ifdef __APPLE__
#include <assert.h>
#endif
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
@@ -59,42 +56,6 @@ static const struct grid_cell_entry grid_cleared_entry = {
{ .data = { 0, 8, 8, ' ' } }, GRID_FLAG_CLEARED { .data = { 0, 8, 8, ' ' } }, GRID_FLAG_CLEARED
}; };
#ifdef __APPLE__
void
grid_check_is_clear(struct grid *gd)
{
struct grid_line *gl;
u_int yy, ny;
assert(gd != NULL);
if (gd->sy == 0) {
assert(gd->linedata == NULL);
return;
}
assert(gd->linedata != NULL);
ny = gd->hsize + gd->sy;
for (yy = 0; yy < ny; yy++) {
gl = &gd->linedata[yy];
assert(gl->celldata == NULL);
assert(gl->cellused == 0);
assert(gl->cellsize == 0);
assert(gl->extddata == NULL);
assert(gl->extdsize == 0);
assert(gl->flags == 0);
assert(gl->time == 0);
}
}
#else
void
grid_check_is_clear(__unused struct grid *gd)
{
}
#endif
/* Store cell in entry. */ /* Store cell in entry. */
static void static void
grid_store_cell(struct grid_cell_entry *gce, const struct grid_cell *gc, grid_store_cell(struct grid_cell_entry *gce, const struct grid_cell *gc,
@@ -347,12 +308,6 @@ grid_free_line(struct grid *gd, u_int py)
{ {
struct grid_line *gl = &gd->linedata[py]; struct grid_line *gl = &gd->linedata[py];
#ifdef __APPLE__
assert(gl->cellused <= gl->cellsize);
assert(gl->extdsize == 0 || gl->extddata != NULL);
assert(gl->cellsize == 0 || gl->celldata != NULL);
#endif
free(gl->celldata); free(gl->celldata);
free(gl->extddata); free(gl->extddata);
memset(gl, 0, sizeof *gl); memset(gl, 0, sizeof *gl);
@@ -384,11 +339,6 @@ grid_create(u_int sx, u_int sy, u_int hlimit)
if (gd->sy != 0) if (gd->sy != 0)
gd->linedata = xcalloc(gd->sy, sizeof *gd->linedata); gd->linedata = xcalloc(gd->sy, sizeof *gd->linedata);
#ifdef __APPLE__
assert(gd->hsize == 0);
#endif
grid_check_is_clear(gd);
return (gd); return (gd);
} }

View File

@@ -101,12 +101,12 @@ screen_init(struct screen *s, u_int sx, u_int sy, u_int hlimit)
s->write_list = NULL; s->write_list = NULL;
s->hyperlinks = NULL; s->hyperlinks = NULL;
screen_reinit(s, 1); screen_reinit(s);
} }
/* Reinitialise screen. */ /* Reinitialise screen. */
void void
screen_reinit(struct screen *s, int check) screen_reinit(struct screen *s)
{ {
s->cx = 0; s->cx = 0;
s->cy = 0; s->cy = 0;
@@ -125,8 +125,6 @@ screen_reinit(struct screen *s, int check)
s->saved_cy = UINT_MAX; s->saved_cy = UINT_MAX;
screen_reset_tabs(s); screen_reset_tabs(s);
if (check)
grid_check_is_clear(s->grid);
grid_clear_lines(s->grid, s->grid->hsize, s->grid->sy, 8); grid_clear_lines(s->grid, s->grid->hsize, s->grid->sy, 8);
screen_clear_selection(s); screen_clear_selection(s);

View File

@@ -327,7 +327,7 @@ spawn_pane(struct spawn_context *sc, char **cause)
sc->wp0->fd = -1; sc->wp0->fd = -1;
} }
window_pane_reset_mode_all(sc->wp0); window_pane_reset_mode_all(sc->wp0);
screen_reinit(&sc->wp0->base, 0); screen_reinit(&sc->wp0->base);
if (sc->wp0->ictx != NULL) { if (sc->wp0->ictx != NULL) {
input_free(sc->wp0->ictx); input_free(sc->wp0->ictx);
sc->wp0->ictx = NULL; sc->wp0->ictx = NULL;

2
tmux.h
View File

@@ -3674,7 +3674,7 @@ int redraw_get_status_border_cell_type(struct redraw_span **, u_int);
/* screen.c */ /* screen.c */
void screen_init(struct screen *, u_int, u_int, u_int); void screen_init(struct screen *, u_int, u_int, u_int);
void screen_reinit(struct screen *, int); void screen_reinit(struct screen *);
void screen_free(struct screen *); void screen_free(struct screen *);
void screen_reset_tabs(struct screen *); void screen_reset_tabs(struct screen *);
void screen_reset_hyperlinks(struct screen *); void screen_reset_hyperlinks(struct screen *);