Reviewed by Tim Hatcher
[WebKit-https.git] / WebKit / mac / WebView / WebPDFView.mm
index deec13f80eb065ed4dbbf57f9d0d5fa675e17f61..bdf2697bf1f76b3663bbbb39a87f629be1598a37 100644 (file)
@@ -183,6 +183,7 @@ static BOOL _PDFSelectionsAreEqual(PDFSelection *selectionA, PDFSelection *selec
 - (void)dealloc
 {
     ASSERT(!trackedFirstResponder);
+    [dataSource release];
     [previewView release];
     [PDFSubview release];
     [path release];
@@ -528,7 +529,13 @@ static BOOL _PDFSelectionsAreEqual(PDFSelection *selectionA, PDFSelection *selec
 
 - (void)setDataSource:(WebDataSource *)ds
 {
-    dataSource = ds;
+    if (dataSource == ds)
+        return;
+
+    dataSource = [ds retain];
+    
+    // FIXME: There must be some better place to put this. There is no comment in ChangeLog
+    // explaining why it's in this method.
     [self setFrame:[[self superview] frame]];
 }