From fb5457672a262b7011896ea487e91d08a6bd5341 Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Tue, 9 Jan 2024 23:54:36 +0100 Subject: [PATCH] #706 prevent multiple calls to load viewer overlay metadata --- lib/widgets/viewer/overlay/details/details.dart | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/widgets/viewer/overlay/details/details.dart b/lib/widgets/viewer/overlay/details/details.dart index b84fc33f4..b6a6900e4 100644 --- a/lib/widgets/viewer/overlay/details/details.dart +++ b/lib/widgets/viewer/overlay/details/details.dart @@ -44,10 +44,9 @@ class ViewerDetailOverlay extends StatefulWidget { class _ViewerDetailOverlayState extends State { List get entries => widget.entries; - AvesEntry? get entry { - final index = widget.index; - return index < entries.length ? entries[index] : null; - } + AvesEntry? get entry => entryForIndex(widget.index); + + AvesEntry? entryForIndex(int index) => index < entries.length ? entries[index] : null; late Future?> _detailLoader; AvesEntry? _lastEntry; @@ -62,7 +61,8 @@ class _ViewerDetailOverlayState extends State { @override void didUpdateWidget(covariant ViewerDetailOverlay oldWidget) { super.didUpdateWidget(oldWidget); - if (entry != _lastEntry) { + final newEntry = entryForIndex(widget.index); + if (newEntry != entryForIndex(oldWidget.index) && newEntry != _lastEntry) { _initDetailLoader(); } }