diff --git a/Quicksilver/Code-QuickStepCore/QSLibrarian.m b/Quicksilver/Code-QuickStepCore/QSLibrarian.m index 19cd977de..ac66238f5 100644 --- a/Quicksilver/Code-QuickStepCore/QSLibrarian.m +++ b/Quicksilver/Code-QuickStepCore/QSLibrarian.m @@ -476,7 +476,7 @@ - (QSObject *)objectWithIdentifier:(NSString *)ident - (void)setIdentifier:(NSString *)ident forObject:(QSObject *)obj { - if (ident) { + if (ident && obj) { [self.objectDictionary setObject:obj forKey:ident]; } } diff --git a/Quicksilver/Code-QuickStepCore/QSObject_Pasteboard.m b/Quicksilver/Code-QuickStepCore/QSObject_Pasteboard.m index e34cbc58a..27c8f4446 100644 --- a/Quicksilver/Code-QuickStepCore/QSObject_Pasteboard.m +++ b/Quicksilver/Code-QuickStepCore/QSObject_Pasteboard.m @@ -241,9 +241,17 @@ - (void)guessName { NSString *textString = [data objectForKey:QSTextType]; // some objects (images from the web) don't have a text string but have a URL if (!textString) { - textString = [data objectForKey:NSPasteboardTypeURL]; + id urlObject = [data objectForKey:NSPasteboardTypeURL]; + // Handle case where URL might be NSData instead of NSString + if ([urlObject isKindOfClass:[NSData class]]) { + textString = [[NSString alloc] initWithData:urlObject encoding:NSUTF8StringEncoding]; + } else if ([urlObject isKindOfClass:[NSString class]]) { + textString = urlObject; + } + } + if ([textString isKindOfClass:[NSString class]]) { + textString = [textString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; } - textString = [textString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; static NSArray *namesAndKeys = nil; diff --git a/Quicksilver/Code-QuickStepCore/QSPaths.h b/Quicksilver/Code-QuickStepCore/QSPaths.h index fc05488b8..26e76e7ba 100644 --- a/Quicksilver/Code-QuickStepCore/QSPaths.h +++ b/Quicksilver/Code-QuickStepCore/QSPaths.h @@ -30,7 +30,7 @@ // URL to crash reporter server/script #define kCrashReporterURL @"https://qs0.qsapp.com/crashreports/reporter.php" // Wiki page detailing why we collect crash reports -#define kCrashReportsWikiURL @"https://qsapp.com/wiki/Crash_Reports" +#define kCrashReportsWikiURL @"https://docs.qsapp.com/documentation/supporting-quicksilver/crash_reports" /** * Get the path to a subdirectory in the Quicksilver 'Application Support' directory diff --git a/Quicksilver/Code-QuickStepCore/QSProcessMonitor.m b/Quicksilver/Code-QuickStepCore/QSProcessMonitor.m index 6d0486a7f..07ea0d274 100644 --- a/Quicksilver/Code-QuickStepCore/QSProcessMonitor.m +++ b/Quicksilver/Code-QuickStepCore/QSProcessMonitor.m @@ -302,7 +302,8 @@ - (void)appLaunched:(ProcessSerialNumber)psn { QSObject *procObject = [self imbuedFileProcessForDict:dict]; QSGCDMainAsync(^{ // This notif is used for the Events plugin 'Application Launched' event trigger - [[NSNotificationCenter defaultCenter] postNotificationName:@"QSEventNotification" object:@"QSApplicationLaunchEvent" userInfo:[NSDictionary dictionaryWithObject:procObject forKey:@"object"]]; + NSDictionary *userInfo = procObject ? [NSDictionary dictionaryWithObject:procObject forKey:@"object"] : nil; + [[NSNotificationCenter defaultCenter] postNotificationName:@"QSEventNotification" object:@"QSApplicationLaunchEvent" userInfo:userInfo]; [[NSNotificationCenter defaultCenter] postNotificationName:QSProcessMonitorApplicationLaunched object:self userInfo:dict]; }); } diff --git a/Quicksilver/Resources/CrashReporterText.html b/Quicksilver/Resources/CrashReporterText.html index 68d50effd..a92d451b4 100644 --- a/Quicksilver/Resources/CrashReporterText.html +++ b/Quicksilver/Resources/CrashReporterText.html @@ -1,3 +1,19 @@ +

In order to help improve Quicksilver, please consider sending a crash report to the developers. Quicksilver will restart when this window closes.

To troubleshoot your problem, see the FAQ or alternatively report your issue on the issue tracker.

diff --git a/Quicksilver/Resources/PluginReporterText.html b/Quicksilver/Resources/PluginReporterText.html index b1eeab3d6..6c1901099 100644 --- a/Quicksilver/Resources/PluginReporterText.html +++ b/Quicksilver/Resources/PluginReporterText.html @@ -1,3 +1,19 @@ +

The *** plugin caused Quicksilver to crash, you may wish to delete it. In order to help improve Quicksilver, please consider sending a crash report to the developers. Quicksilver will restart when this window closes.