From 350f0a9649bf5797846a674085ce80a159d6fd30 Mon Sep 17 00:00:00 2001
From: stevenyomi <95685115+stevenyomi@users.noreply.github.com>
Date: Sat, 3 Sep 2022 02:47:59 +0800
Subject: [PATCH] Meitua.top: fix error on single-page result, fix filter
 (#13311)

---
 src/all/meituatop/build.gradle                              | 2 +-
 .../kanade/tachiyomi/extension/all/meituatop/MeituaTop.kt   | 6 ++++--
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/all/meituatop/build.gradle b/src/all/meituatop/build.gradle
index dd7159295..72dcbc219 100644
--- a/src/all/meituatop/build.gradle
+++ b/src/all/meituatop/build.gradle
@@ -5,7 +5,7 @@ ext {
     extName = 'Meitua.top'
     pkgNameSuffix = 'all.meituatop'
     extClass = '.MeituaTop'
-    extVersionCode = 1
+    extVersionCode = 2
     isNsfw = true
 }
 
diff --git a/src/all/meituatop/src/eu/kanade/tachiyomi/extension/all/meituatop/MeituaTop.kt b/src/all/meituatop/src/eu/kanade/tachiyomi/extension/all/meituatop/MeituaTop.kt
index 51bdc73ad..a69eac791 100644
--- a/src/all/meituatop/src/eu/kanade/tachiyomi/extension/all/meituatop/MeituaTop.kt
+++ b/src/all/meituatop/src/eu/kanade/tachiyomi/extension/all/meituatop/MeituaTop.kt
@@ -42,7 +42,9 @@ class MeituaTop : HttpSource() {
                 initialized = true
             }
         }
-        val lastPage = document.select(Evaluator.Class("page_link"))[3].attr("href")
+        val pageLinks = document.select(Evaluator.Class("page_link"))
+        if (pageLinks.isEmpty()) return MangasPage(mangas, false)
+        val lastPage = pageLinks[3].attr("href")
         val hasNextPage = document.location().pageNumber() != lastPage.pageNumber()
         return MangasPage(mangas, hasNextPage)
     }
@@ -60,7 +62,7 @@ class MeituaTop : HttpSource() {
             return GET(url, headers)
         }
 
-        val filter = filters.firstOrNull() as? RegionFilter ?: return popularMangaRequest(page)
+        val filter = filters.filterIsInstance<RegionFilter>().firstOrNull() ?: return popularMangaRequest(page)
         return GET("$baseUrl/arttype/${21 + filter.state}a-$page.html", headers)
     }