diff --git a/src/screen_artist.c b/src/screen_artist.c
index 3ffc533021eff02a428811574fe9741902340053..6169775573bd768ffa4bce3a40db37454db78025 100644 (file)
--- a/src/screen_artist.c
+++ b/src/screen_artist.c
list = g_list_sort(list, compare_utf8);
artist_list = g_list_to_ptr_array(list);
+ list_window_set_length(browser.lw, artist_list->len);
}
static void
list = g_list_sort(list, compare_utf8);
album_list = g_list_to_ptr_array(list);
+ list_window_set_length(browser.lw, album_list->len + 2);
}
static void
/* fix highlights */
screen_browser_sync_highlights(browser.filelist, &c->playlist);
#endif
+ list_window_set_length(browser.lw, filelist_length(browser.filelist));
}
static void
filelist_free(addlist);
}
-static unsigned
-metalist_length(void)
-{
- assert(mode != LIST_ARTISTS || artist_list != NULL);
- assert(mode != LIST_ALBUMS || album_list != NULL);
-
- return mode == LIST_ALBUMS
- ? album_list->len + 2
- : artist_list->len;
-}
-
static int
screen_artist_lw_cmd(struct mpdclient *c, command_t cmd)
{
switch (mode) {
case LIST_ARTISTS:
case LIST_ALBUMS:
- return list_window_cmd(browser.lw, metalist_length(), cmd);
+ return list_window_cmd(browser.lw, cmd);
case LIST_SONGS:
return browser_cmd(&browser, c, cmd);
if (idx >= 0) {
list_window_set_cursor(browser.lw, idx);
- list_window_center(browser.lw,
- artist_list->len, idx);
+ list_window_center(browser.lw, idx);
}
} else if (browser.lw->selected == album_list->len + 1) {
/* handle "show all" */
if (idx >= 0) {
++idx;
list_window_set_cursor(browser.lw, idx);
- list_window_center(browser.lw,
- album_list->len, idx);
+ list_window_center(browser.lw, idx);
}
artist_repaint();
if (idx >= 0) {
list_window_set_cursor(browser.lw, idx);
- list_window_center(browser.lw,
- artist_list->len, idx);
+ list_window_center(browser.lw, idx);
}
break;
if (idx >= 0) {
++idx;
list_window_set_cursor(browser.lw, idx);
- list_window_center(browser.lw,
- album_list->len, idx);
+ list_window_center(browser.lw, idx);
}
break;
}
case CMD_LIST_RFIND_NEXT:
switch (mode) {
case LIST_ARTISTS:
- screen_find(browser.lw, artist_list->len,
- cmd, screen_artist_lw_callback,
- artist_list);
+ screen_find(browser.lw, cmd,
+ screen_artist_lw_callback, artist_list);
artist_repaint();
return true;
case LIST_ALBUMS:
- screen_find(browser.lw, album_list->len + 2,
- cmd, screen_artist_lw_callback,
- album_list);
+ screen_find(browser.lw, cmd,
+ screen_artist_lw_callback, album_list);
artist_repaint();
return true;