diff --git a/lib/pangea/toolbar/message_selection_overlay.dart b/lib/pangea/toolbar/message_selection_overlay.dart index 00351097d..b988b9e56 100644 --- a/lib/pangea/toolbar/message_selection_overlay.dart +++ b/lib/pangea/toolbar/message_selection_overlay.dart @@ -54,7 +54,7 @@ class MessageSelectionOverlay extends StatefulWidget { } class MessageOverlayController extends State - with SingleTickerProviderStateMixin { + with SingleTickerProviderStateMixin, WidgetsBindingObserver { Event get event => widget._event; PangeaTokenText? _selectedSpan; @@ -77,6 +77,7 @@ class MessageOverlayController extends State @override void initState() { super.initState(); + WidgetsBinding.instance.addObserver(this); selectModeController = SelectModeController(pangeaMessageEvent); practiceController = PracticeController(pangeaMessageEvent); _initializeTokensAndMode(); @@ -85,11 +86,18 @@ class MessageOverlayController extends State ); } + @override + void didChangeMetrics() { + super.didChangeMetrics(); + widget.chatController.clearSelectedEvents(); + } + @override void dispose() { WidgetsBinding.instance.addPostFrameCallback( (_) => widget.chatController.clearSelectedEvents(), ); + WidgetsBinding.instance.removeObserver(this); selectModeController.dispose(); practiceController.dispose(); selectedTokenNotifier.dispose();