From 87b63301f28bbaf2bce0ab992749e2c50902f6eb Mon Sep 17 00:00:00 2001 From: Nick Fisher Date: Mon, 2 Jun 2025 12:57:22 +0800 Subject: [PATCH] require dispose() on InputHandlerDelegate and update sample implementations --- .../lib/src/input/src/delegate_input_handler.dart | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/thermion_dart/lib/src/input/src/delegate_input_handler.dart b/thermion_dart/lib/src/input/src/delegate_input_handler.dart index 6c260e1c..f34ec804 100644 --- a/thermion_dart/lib/src/input/src/delegate_input_handler.dart +++ b/thermion_dart/lib/src/input/src/delegate_input_handler.dart @@ -7,7 +7,13 @@ import 'package:thermion_dart/thermion_dart.dart'; typedef PointerEventDetails = (Vector2 localPosition, Vector2 delta); abstract class InputHandlerDelegate { - Future handle(List events); + + Future handle(List events) async { + // noop, override to implement + } + Future dispose() async { + // noop, override if you need + } } /// @@ -98,6 +104,9 @@ class DelegateInputHandler implements InputHandler { @override Future dispose() async { FilamentApp.instance!.unregisterRequestFrameHook(process); + for (final delegate in delegates) { + delegate.dispose(); + } } @override