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) {