From 49a31841c05f12a2620ed36faf54d1b525704613 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?John=20Ankarstr=C3=B6m?= Date: Sat, 23 Apr 2022 13:32:41 +0200 Subject: Fix ElvSelectRecent. --- c/episodelistview.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'c') diff --git a/c/episodelistview.c b/c/episodelistview.c index 1afee3e..843ef78 100644 --- a/c/episodelistview.c +++ b/c/episodelistview.c @@ -164,12 +164,20 @@ ElvSelectRecent() P("track_episodes","most_recently_watched",1,t) goto s; GI(t,&iEpisode) return; - i = 0; lvfi.flags = LVFI_PARAM; lvfi.lParam = iEpisode; + i = 0; while ((iItem = ListView_FindItem(HElv, -1, &lvfi)) == -1 && i++ < 100) lvfi.lParam = ++iEpisode; - if (iItem == -1) return; + if (iItem != -1) goto s; + + iEpisode -= 100; + lvfi.lParam = iEpisode; + i = 0; + while ((iItem = ListView_FindItem(HElv, -1, &lvfi)) == -1 && i++ < 100) + lvfi.lParam = --iEpisode; + if (iItem != -1) goto s; + return; s: ListView_SetItemState(HElv, -1, LVIF_STATE, LVIS_SELECTED); ElvSetTop(iItem > 5? iItem-5: 0); -- cgit v1.2.3