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