From 04180a42c7dae7b891c6dd5bc9ba5e68c2c84bef Mon Sep 17 00:00:00 2001 From: Oliver <oliver.henry.walters@gmail.com> Date: Fri, 9 Jul 2021 19:44:11 +1000 Subject: [PATCH] Null check for pagination controller --- lib/l10n | 2 +- lib/widget/category_display.dart | 19 ++++++++++++------- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/lib/l10n b/lib/l10n index 7a23f04b..05a5cbf6 160000 --- a/lib/l10n +++ b/lib/l10n @@ -1 +1 @@ -Subproject commit 7a23f04bfc11dd099511536bdb8b72a9b35edecf +Subproject commit 05a5cbf63b4b5479162905def9fdadf21041212e diff --git a/lib/widget/category_display.dart b/lib/widget/category_display.dart index 83d34dfc..4725cc30 100644 --- a/lib/widget/category_display.dart +++ b/lib/widget/category_display.dart @@ -399,30 +399,35 @@ class _PaginatedPartListState extends State<PaginatedPartList> { params["cascade"] = "${cascade}"; final page = await InvenTreePart().listPaginated(_pageSize, pageKey, filters: params); - final isLastPage = page.length < _pageSize; + int pageLength = page.length ?? 0; + int pageCount = page.count ?? 0; + + final isLastPage = pageLength < _pageSize; // Construct a list of part objects List<InvenTreePart> parts = []; - for (var result in page.results) { - if (result is InvenTreePart) { - parts.add(result); + if (page == null) { + for (var result in page.results) { + if (result is InvenTreePart) { + parts.add(result); + } } } if (isLastPage) { _pagingController.appendLastPage(parts); } else { - final int nextPageKey = pageKey + page.length; + final int nextPageKey = pageKey + pageLength; _pagingController.appendPage(parts, nextPageKey); } if (onTotalChanged != null) { - onTotalChanged(page.count); + onTotalChanged(pageCount); } setState(() { - resultCount = page.count; + resultCount = pageCount; }); } catch (error) {