Revision: 14887
http://sourceforge.net/p/skim-app/code/14887
Author: hofman
Date: 2025-01-27 10:41:29 +0000 (Mon, 27 Jan 2025)
Log Message:
-----------
Check wither string is not nil before creating URL, no need for initializer
overrides to allow for nil string or path
Modified Paths:
--------------
trunk/NSURL_SKExtensions.m
trunk/SKMainWindowController_UI.m
trunk/SKScriptMenu.m
Modified: trunk/NSURL_SKExtensions.m
===================================================================
--- trunk/NSURL_SKExtensions.m 2025-01-27 10:00:55 UTC (rev 14886)
+++ trunk/NSURL_SKExtensions.m 2025-01-27 10:41:29 UTC (rev 14887)
@@ -37,7 +37,6 @@
*/
#import "NSURL_SKExtensions.h"
-#import "SKRuntime.h"
#import "NSCharacterSet_SKExtensions.h"
#import "NSImage_SKExtensions.h"
@@ -53,22 +52,6 @@
@implementation NSURL (SKExtensions)
-static id (*original_initFileURLWithPath)(id, SEL, id) = NULL;
-static id (*original_initWithString)(id, SEL, id) = NULL;
-
-- (id)replacement_initFileURLWithPath:(NSString *)path {
- return path == nil ? nil : original_initFileURLWithPath(self, _cmd, path);
-}
-
-- (id)replacement_initWithString:(NSString *)URLString {
- return URLString == nil ? nil : original_initWithString(self, _cmd,
URLString);
-}
-
-+ (void)load {
- original_initFileURLWithPath = (id (*)(id, SEL,
id))SKReplaceInstanceMethodImplementationFromSelector(self,
@selector(initFileURLWithPath:), @selector(replacement_initFileURLWithPath:));
- original_initWithString = (id (*)(id, SEL,
id))SKReplaceInstanceMethodImplementationFromSelector(self,
@selector(initWithString:), @selector(replacement_initWithString:));
-}
-
+ (BOOL)canReadURLFromPasteboard:(NSPasteboard *)pboard {
return [pboard canReadObjectForClasses:@[[SKURL class]] options:@{}] ||
[pboard canReadItemWithDataConformingToTypes:@[NSURLPboardType,
NSFilenamesPboardType]];
Modified: trunk/SKMainWindowController_UI.m
===================================================================
--- trunk/SKMainWindowController_UI.m 2025-01-27 10:00:55 UTC (rev 14886)
+++ trunk/SKMainWindowController_UI.m 2025-01-27 10:41:29 UTC (rev 14887)
@@ -1448,7 +1448,7 @@
#pragma mark SKPDFView delegate protocol
- (NSURL *)redirectRelativeLinkURL:(NSURL *)url {
- if ([url scheme] == nil && [[self document] fileURL])
+ if (url && [url scheme] == nil && [[self document] fileURL])
url = [[NSURL URLWithString:[url absoluteString] relativeToURL:[[self
document] fileURL]] absoluteURL] ?: url;
if ([url isFileURL] && [[[self document] fileType]
isEqualToString:SKDocumentTypePDFBundle] && [url
checkResourceIsReachableAndReturnError:NULL] == NO) {
NSString *path = [url path];
Modified: trunk/SKScriptMenu.m
===================================================================
--- trunk/SKScriptMenu.m 2025-01-27 10:00:55 UTC (rev 14886)
+++ trunk/SKScriptMenu.m 2025-01-27 10:41:29 UTC (rev 14887)
@@ -240,7 +240,8 @@
}
- (void)executeScript:(id)sender {
- [[[NSUserScriptTask alloc] initWithURL:[NSURL fileURLWithPath:[sender
representedObject] isDirectory:NO] error:NULL]
executeWithCompletionHandler:nil];
+ if ([[sender representedObject] isKindOfClass:[NSString class]])
+ [[[NSUserScriptTask alloc] initWithURL:[NSURL fileURLWithPath:[sender
representedObject] isDirectory:NO] error:NULL]
executeWithCompletionHandler:nil];
}
@end
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit