From d0dc43f157de69ca2b3cb483da010762eedf37b4 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Sun, 8 May 2016 21:24:25 -0400 Subject: simplify --- src/display.c | 32 +++++++++++++++----------------- 1 file changed, 15 insertions(+), 17 deletions(-) diff --git a/src/display.c b/src/display.c index 4e6b510..8b21089 100644 --- a/src/display.c +++ b/src/display.c @@ -52,29 +52,27 @@ void runes_display_draw_screen(RunesTerm *t) RunesDisplay *display = t->display; int r, rows; - if (!t->scr->dirty && !display->dirty) { - runes_display_repaint_screen(t); - return; - } - - if (t->scr->dirty) { - display->has_selection = 0; - } + if (t->scr->dirty || display->dirty) { + if (t->scr->dirty) { + display->has_selection = 0; + } - cairo_push_group(display->cr); + cairo_push_group(display->cr); - /* XXX quite inefficient */ - rows = t->scr->grid->max.row; - for (r = 0; r < rows; ++r) { - int c = 0, cols = t->scr->grid->max.col; + /* XXX quite inefficient */ + rows = t->scr->grid->max.row; + for (r = 0; r < rows; ++r) { + int c = 0, cols = t->scr->grid->max.col; - while (c < cols) { - c += runes_display_draw_cell(t, r, c); + while (c < cols) { + c += runes_display_draw_cell(t, r, c); + } } + + cairo_pattern_destroy(display->buffer); + display->buffer = cairo_pop_group(display->cr); } - cairo_pattern_destroy(display->buffer); - display->buffer = cairo_pop_group(display->cr); runes_display_repaint_screen(t); t->scr->dirty = 0; -- cgit v1.2.3-54-g00ecf