diff --git a/Sources/HTMLRange.m b/Sources/HTMLRange.m
index ae90172..d670a83 100644
--- a/Sources/HTMLRange.m
+++ b/Sources/HTMLRange.m
@@ -9,6 +9,13 @@
#import "HTMLRange.h"
#import "HTMLDocument.h"
#import "HTMLKitDOMExceptions.h"
+#import "HTMLDocument+Private.h"
+
+@interface HTMLRange ()
+{
+ HTMLDocument *_ownerDocument;
+}
+@end
@implementation HTMLRange
@@ -18,12 +25,19 @@
{
self = [super init];
if (self) {
+ _ownerDocument = document;
+ [_ownerDocument attachRange:self];
[self setStartNode:document startOffset:0];
[self setEndNode:document endOffset:0];
}
return self;
}
+- (void)dealloc
+{
+ [_ownerDocument detachRange:self];
+}
+
#pragma mark - Properties
- (BOOL)isCollapsed