diff options
Diffstat (limited to '')
-rw-r--r-- | src/screen.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/src/screen.c b/src/screen.c index 2fd4b571f..90788b086 100644 --- a/src/screen.c +++ b/src/screen.c @@ -76,11 +76,12 @@ screen_switch(const struct screen_functions *sf, struct mpdclient *c) /* get functions for the new mode */ mode_fn = sf; - screen.painted = 0; /* open the new mode */ if (mode_fn->open != NULL) mode_fn->open(&screen, c); + + screen_paint(c); } static int @@ -372,7 +373,7 @@ screen_exit(void) } void -screen_resize(void) +screen_resize(struct mpdclient *c) { if (COLS<SCREEN_MIN_COLS || LINES<SCREEN_MIN_ROWS) { screen_exit(); @@ -416,7 +417,7 @@ screen_resize(void) curs_set(1); curs_set(0); - screen.painted = 0; + screen_paint(c); } void @@ -459,7 +460,6 @@ screen_init(mpdclient_t *c) screen.buf = g_malloc(screen.cols); screen.buf_size = screen.cols; screen.findbuf = NULL; - screen.painted = 0; screen.start_timestamp = time(NULL); screen.last_cmd = CMD_NONE; @@ -550,7 +550,6 @@ screen_paint(mpdclient_t *c) paint_progress_window(c); paint_status_window(c); - screen.painted = 1; wmove(screen.main_window.w, 0, 0); wnoutrefresh(screen.main_window.w); @@ -566,9 +565,6 @@ screen_update(mpdclient_t *c) static int crossfade = -1; static int dbupdate = -1; - if( !screen.painted ) - screen_paint(c); - /* print a message if mpd status has changed */ if (c->status != NULL) { if (repeat < 0) { @@ -788,7 +784,7 @@ screen_cmd(mpdclient_t *c, command_t cmd) _("Auto center mode: Off")); break; case CMD_SCREEN_UPDATE: - screen.painted = 0; + screen_paint(c); break; case CMD_SCREEN_PREVIOUS: screen_next_mode(c, -1); |