screen: remove empty cell fallback
authorDavid Herrmann <dh.herrmann@gmail.com>
Tue, 22 Oct 2013 13:53:31 +0000 (15:53 +0200)
committerDavid Herrmann <dh.herrmann@gmail.com>
Tue, 22 Oct 2013 13:53:31 +0000 (15:53 +0200)
If we resize our screen, we guarantee that all cells are allocated. This
hasn't been true in the early times so we needed an empty cell during
rendering as fallback. It's no longer needed so remove it.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
src/tsm_screen.c

index 2f1f9a4..26a8e4e 100644 (file)
@@ -1775,15 +1775,12 @@ void tsm_screen_draw(struct tsm_screen *con, tsm_screen_draw_cb draw_cb,
        int ret, warned = 0;
        const uint32_t *ch;
        size_t len;
-       struct cell empty;
        bool in_sel = false, sel_start = false, sel_end = false;
        bool was_sel = false;
 
        if (!con || !draw_cb)
                return;
 
-       cell_init(con, &empty);
-
        cur_x = con->cursor_x;
        if (con->cursor_x >= con->size_x)
                cur_x = con->size_x - 1;
@@ -1837,10 +1834,7 @@ void tsm_screen_draw(struct tsm_screen *con, tsm_screen_draw_cb draw_cb,
                }
 
                for (j = 0; j < con->size_x; ++j) {
-                       if (j < line->size)
-                               cell = &line->cells[j];
-                       else
-                               cell = &empty;
+                       cell = &line->cells[j];
                        memcpy(&attr, &cell->attr, sizeof(attr));
 
                        if (con->sel_active) {