diff options
author | rowanbeentje <rowan@beent.je> | 2009-11-10 21:29:19 +0000 |
---|---|---|
committer | rowanbeentje <rowan@beent.je> | 2009-11-10 21:29:19 +0000 |
commit | 938e8654b76383396ee187ab751bb8fa6d67f37a (patch) | |
tree | 3aaf8a7df7fb3582663adee8a0227091f5cd2bcf /Source/CustomQuery.m | |
parent | e122d2c8e45b19982b9b62b9b0ec39248d1d0bd4 (diff) | |
download | sequelpro-938e8654b76383396ee187ab751bb8fa6d67f37a.tar.gz sequelpro-938e8654b76383396ee187ab751bb8fa6d67f37a.tar.bz2 sequelpro-938e8654b76383396ee187ab751bb8fa6d67f37a.zip |
- Add safeguards to ensure sequential runs when holding down run all/run selected keys in Custom Query, preventing NSLock deadlocks
- Revery MCPConnection to locking on the *current* thread when running non-streaming queries, fixing deadlocks in some situations on background threads where the main thread is locked up via a modal loop - eg CSV import windows
Diffstat (limited to 'Source/CustomQuery.m')
-rw-r--r-- | Source/CustomQuery.m | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/Source/CustomQuery.m b/Source/CustomQuery.m index 55c87129..2a1492af 100644 --- a/Source/CustomQuery.m +++ b/Source/CustomQuery.m @@ -54,6 +54,9 @@ SPSQLParser *queryParser; NSArray *queries; + // Prevent multiple runs by holding the keys down + if ([tableDocumentInstance isWorking]) return; + // Fixes bug in key equivalents. if ([[NSApp currentEvent] type] == NSKeyUp) { return; @@ -108,6 +111,9 @@ NSRange selectedRange = [textView selectedRange]; SPSQLParser *queryParser; + // Prevent multiple runs by holding the keys down + if ([tableDocumentInstance isWorking]) return; + // If the current selection is a single caret position, run the current query. if (selectedRange.length == 0) { // BOOL doLookBehind = YES; |