Revision: 7409
          http://skim-app.svn.sourceforge.net/skim-app/?rev=7409&view=rev
Author:   hofman
Date:     2011-08-01 09:35:19 +0000 (Mon, 01 Aug 2011)

Log Message:
-----------
Always save the original data in PDF document, also when it's a PDF. Use the 
original PDF data for keychain ID rather than the PDF data, because the PDF 
data may have been replaced and the PDF document always is build from the 
original PDF data, unless it's PS/DVI/XDV, when it's not encrypted

Modified Paths:
--------------
    trunk/SKMainDocument.h
    trunk/SKMainDocument.m

Modified: trunk/SKMainDocument.h
===================================================================
--- trunk/SKMainDocument.h      2011-07-31 20:41:19 UTC (rev 7408)
+++ trunk/SKMainDocument.h      2011-08-01 09:35:19 UTC (rev 7409)
@@ -52,7 +52,7 @@
     
     // variables to be saved:
     NSData *pdfData;
-    NSData *psOrDviData;
+    NSData *originalData;
     
     // temporary variables:
     SKTemporaryData *tmpData;

Modified: trunk/SKMainDocument.m
===================================================================
--- trunk/SKMainDocument.m      2011-07-31 20:41:19 UTC (rev 7408)
+++ trunk/SKMainDocument.m      2011-08-01 09:35:19 UTC (rev 7409)
@@ -191,7 +191,7 @@
     SKDESTROY(synchronizer);
     SKDESTROY(fileUpdateChecker);
     SKDESTROY(pdfData);
-    SKDESTROY(psOrDviData);
+    SKDESTROY(originalData);
     SKDESTROY(readNotesAccessoryView);
     SKDESTROY(progressController);
     SKDESTROY(tmpData);
@@ -564,13 +564,13 @@
         didWrite = [pdfData writeToURL:absoluteURL options:0 error:&error];
     } else if ([typeName isEqualToString:SKPostScriptDocumentType] || 
[typeName isEqualToString:SKBarePostScriptDocumentType]) {
         if ([[self fileType] isEqualToString:SKPostScriptDocumentType])
-            didWrite = [psOrDviData writeToURL:absoluteURL options:0 
error:&error];
+            didWrite = [originalData writeToURL:absoluteURL options:0 
error:&error];
     } else if ([typeName isEqualToString:SKDVIDocumentType] || [typeName 
isEqualToString:SKBareDVIDocumentType]) {
         if ([[self fileType] isEqualToString:SKDVIDocumentType])
-            didWrite = [psOrDviData writeToURL:absoluteURL options:0 
error:&error];
+            didWrite = [originalData writeToURL:absoluteURL options:0 
error:&error];
     } else if ([typeName isEqualToString:SKXDVDocumentType] || [typeName 
isEqualToString:SKBareXDVDocumentType]) {
         if ([[self fileType] isEqualToString:SKXDVDocumentType])
-            didWrite = [psOrDviData writeToURL:absoluteURL options:0 
error:&error];
+            didWrite = [originalData writeToURL:absoluteURL options:0 
error:&error];
     } else if ([typeName isEqualToString:SKPDFBundleDocumentType]) {
         NSFileWrapper *fileWrapper = [self 
PDFBundleFileWrapperForName:[[[absoluteURL path] lastPathComponent] 
stringByDeletingPathExtension]];
         if (fileWrapper)
@@ -665,10 +665,10 @@
     [self setPDFData:data];
 }
 
-- (void)setPSOrDVIData:(NSData *)data {
-    if (psOrDviData != data) {
-        [psOrDviData release];
-        psOrDviData = [data retain];
+- (void)setOriginalData:(NSData *)data {
+    if (originalData != data) {
+        [originalData release];
+        originalData = [data retain];
     }
 }
 
@@ -680,7 +680,7 @@
     tmpData = [[SKTemporaryData alloc] init];
     
     if ([docType isEqualToString:SKPostScriptDocumentType]) {
-        [self setPSOrDVIData:data];
+        [self setOriginalData:data];
         data = [[SKConversionProgressController 
newPDFDataWithPostScriptData:data error:&error] autorelease];
     }
     
@@ -809,7 +809,7 @@
             [self setPDFData:data];
             [tmpData setPdfDocument:pdfDoc];
             if ([docType isEqualToString:SKPostScriptDocumentType] || [docType 
isEqualToString:SKDVIDocumentType] || [docType 
isEqualToString:SKXDVDocumentType])
-                [self setPSOrDVIData:fileData];
+                [self setOriginalData:fileData];
             [pdfDoc release];
             [fileUpdateChecker didUpdateFromURL:absoluteURL];
             
@@ -1606,7 +1606,7 @@
 }
 
 - (void)doSavePasswordInKeychain:(NSString *)password {
-    NSString *fileID = [[[self pdfDocument] fileIDStrings:pdfData] lastObject] 
?: [pdfData md5String];
+    NSString *fileID = [[[self pdfDocument] fileIDStrings:originalData] 
lastObject] ?: [pdfData md5String];
     if (fileID) {
         // first see if the password exists in the keychain
         SecKeychainItemRef itemRef = NULL;
@@ -1649,7 +1649,7 @@
     if ([document isLocked] == NO) {
         didUnlock = YES;
     } else if (NSAlertAlternateReturn != [[NSUserDefaults 
standardUserDefaults] integerForKey:SKSavePasswordOptionKey]) {
-        NSString *fileID = [[document fileIDStrings:pdfData] lastObject] ?: 
[pdfData md5String];
+        NSString *fileID = [[document fileIDStrings:originalData] lastObject] 
?: [pdfData md5String];
         if (fileID) {
             NSString *password = nil;
             SecKeychainItemRef itemRef = NULL;


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

------------------------------------------------------------------------------
Got Input?   Slashdot Needs You.
Take our quick survey online.  Come on, we don't ask for help often.
Plus, you'll get a chance to win $100 to spend on ThinkGeek.
http://p.sf.net/sfu/slashdot-survey
_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit

Reply via email to