diff --git a/src/browser/webapi/IntersectionObserver.zig b/src/browser/webapi/IntersectionObserver.zig index 5d6c6e4d..cea88bdb 100644 --- a/src/browser/webapi/IntersectionObserver.zig +++ b/src/browser/webapi/IntersectionObserver.zig @@ -190,11 +190,11 @@ pub fn disconnect(self: *IntersectionObserver, page: *Page) void { const observing_count = self._observing.items.len; self._observing.clearRetainingCapacity(); + page.unregisterIntersectionObserver(self); + if (observing_count > 0) { _ = self.releaseRef(page._session); } - - page.unregisterIntersectionObserver(self); } pub fn takeRecords(self: *IntersectionObserver, page: *Page) ![]*IntersectionObserverEntry {