From 52175e7774d7205c6b9e717d8acc956c48f83c78 Mon Sep 17 00:00:00 2001 From: Mica White Date: Wed, 21 Jan 2026 18:31:25 -0500 Subject: Fix observers --- lib/jotai.dart | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/jotai.dart b/lib/jotai.dart index 16de4e7..5524e6a 100644 --- a/lib/jotai.dart +++ b/lib/jotai.dart @@ -85,6 +85,7 @@ final locationAccuracyObservable = observablePreference( class Observable { T _value; int _nextId = 0; + // A map is used instead of a list for fast deletions and to avoid memory // leaks. Storing IDs in a list would make deletion slow, and setting entries // in the list to null would cause memory leaks. @@ -92,7 +93,9 @@ class Observable { Observable(this._value, {List? observers}) { if (observers != null) { - _observers.addAll(observers.asMap()); + for (var observer in observers) { + subscribe(observer); + } } } -- cgit v1.2.3