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