aboutsummaryrefslogtreecommitdiffstats
path: root/Source/SPDatabaseDocument.m
diff options
context:
space:
mode:
authorMax <post@wickenrode.com>2015-10-21 00:39:34 +0200
committerMax <post@wickenrode.com>2015-10-21 03:27:25 +0200
commitb089a0d3249d3139bedc2679a36efa705d2bae04 (patch)
treedf43a2984520b318f0b8c281d85f2defd72d3943 /Source/SPDatabaseDocument.m
parent91abde0c94df8bd7f63bd4e5d062562b0827adbd (diff)
downloadsequelpro-b089a0d3249d3139bedc2679a36efa705d2bae04.tar.gz
sequelpro-b089a0d3249d3139bedc2679a36efa705d2bae04.tar.bz2
sequelpro-b089a0d3249d3139bedc2679a36efa705d2bae04.zip
Fix bundle commands no longer working in popup field editor (and possibly other cases) (#2299)
Replacing some [NSApp mainWindow] with their actually intended calls [NSApp keyWindow] and [view window]
Diffstat (limited to 'Source/SPDatabaseDocument.m')
-rw-r--r--Source/SPDatabaseDocument.m14
1 files changed, 8 insertions, 6 deletions
diff --git a/Source/SPDatabaseDocument.m b/Source/SPDatabaseDocument.m
index 898c19c3..05eec2ed 100644
--- a/Source/SPDatabaseDocument.m
+++ b/Source/SPDatabaseDocument.m
@@ -5259,8 +5259,9 @@ static NSString *SPAlterDatabaseAction = @"SPAlterDatabase";
}
if([command isEqualToString:@"SelectTableRows"]) {
- if([params count] > 1 && [[[NSApp mainWindow] firstResponder] respondsToSelector:@selector(selectTableRows:)]) {
- [(SPCopyTable *)[[NSApp mainWindow] firstResponder] selectTableRows:[params subarrayWithRange:NSMakeRange(1, [params count]-1)]];
+ id firstResponder = [[NSApp keyWindow] firstResponder];
+ if([params count] > 1 && [firstResponder respondsToSelector:@selector(selectTableRows:)]) {
+ [(SPCopyTable *)firstResponder selectTableRows:[params subarrayWithRange:NSMakeRange(1, [params count]-1)]];
}
return;
}
@@ -6262,17 +6263,18 @@ static NSString *SPAlterDatabaseAction = @"SPAlterDatabase";
if(!correspondingWindowFound) stopTrigger = YES;
}
if(!stopTrigger) {
+ id firstResponder = [[NSApp keyWindow] firstResponder];
if([[data objectAtIndex:1] isEqualToString:SPBundleScopeGeneral]) {
[[SPAppDelegate onMainThread] executeBundleItemForApp:aMenuItem];
}
else if([[data objectAtIndex:1] isEqualToString:SPBundleScopeDataTable]) {
- if ([[[[[NSApp mainWindow] firstResponder] class] description] isEqualToString:@"SPCopyTable"]) {
- [[[[NSApp mainWindow] firstResponder] onMainThread] executeBundleItemForDataTable:aMenuItem];
+ if ([[[firstResponder class] description] isEqualToString:@"SPCopyTable"]) {
+ [[firstResponder onMainThread] executeBundleItemForDataTable:aMenuItem];
}
}
else if([[data objectAtIndex:1] isEqualToString:SPBundleScopeInputField]) {
- if ([[[NSApp mainWindow] firstResponder] isKindOfClass:[NSTextView class]]) {
- [[[[NSApp mainWindow] firstResponder] onMainThread] executeBundleItemForInputField:aMenuItem];
+ if ([firstResponder isKindOfClass:[NSTextView class]]) {
+ [[firstResponder onMainThread] executeBundleItemForInputField:aMenuItem];
}
}
}