aboutsummaryrefslogtreecommitdiffstats
path: root/Source/SPObjectAdditions.m
diff options
context:
space:
mode:
authorMax <post@wickenrode.com>2015-10-02 17:04:07 +0200
committerMax <post@wickenrode.com>2015-10-02 17:04:07 +0200
commitf38ffcb95896ddf3774d30d0c64d8a57139b4ec6 (patch)
tree216747087624b18b8de275b4d8332fed8bb9e29a /Source/SPObjectAdditions.m
parent9233309f6d40c1aacd12088821beef5029b7a60c (diff)
downloadsequelpro-f38ffcb95896ddf3774d30d0c64d8a57139b4ec6.tar.gz
sequelpro-f38ffcb95896ddf3774d30d0c64d8a57139b4ec6.tar.bz2
sequelpro-f38ffcb95896ddf3774d30d0c64d8a57139b4ec6.zip
Add some debug code for another crash that has been happening lately
Diffstat (limited to 'Source/SPObjectAdditions.m')
-rw-r--r--Source/SPObjectAdditions.m38
1 files changed, 37 insertions, 1 deletions
diff --git a/Source/SPObjectAdditions.m b/Source/SPObjectAdditions.m
index 9f51d652..f29aa3b4 100644
--- a/Source/SPObjectAdditions.m
+++ b/Source/SPObjectAdditions.m
@@ -140,7 +140,7 @@ retryDescribe:
if([notificationObserver isKindOfClass:[NSView class]]) {
[val appendFormat:@" view info: id=%@, tag=%ld\n",[(NSView *)notificationObserver identifier], [(NSView *)notificationObserver tag]];
}
- [val appendFormat:@"\nbacktrace:\n%@\n\n",[NSThread callStackSymbols]];
+ [val appendFormat:@"\nregistration backtrace:\n%@\n\n",[NSThread callStackSymbols]];
[gScrollViewListeners setObject:val forKey:key];
}
@@ -186,3 +186,39 @@ retryDescribe:
@end
+
+#pragma mark -
+
+@interface NSAlert (ApplePrivate)
+
+- (IBAction)buttonPressed:(id)sender;
+
+@end
+
+@implementation NSAlert (SPAlertDebug)
+
++ (void)load
+{
+ static dispatch_once_t onceToken;
+
+ dispatch_once(&onceToken, ^{
+ Class alertClass = [self class];
+
+ SEL orig = @selector(buttonPressed:);
+ SEL exch = @selector(sp_buttonPressed:);
+
+ Method origM = class_getInstanceMethod(alertClass, orig);
+ Method exchM = class_getInstanceMethod(alertClass, exch);
+
+ method_exchangeImplementations(origM, exchM);
+ });
+}
+
+- (IBAction)sp_buttonPressed:(id)obj
+{
+ NSLog(@"%s of %@ title=\n%@\ntext=\n%@",__func__,self,[self messageText],[self informativeText]);
+
+ [self sp_buttonPressed:obj];
+}
+
+@end