Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Fix two cases of "UI manipulation from background thread" (relates to #…
- Loading branch information
Showing
with
115 additions
and 24 deletions.
- +27 −24 Source/SPDataImport.m
- +33 −0 Source/SPFunctions.h
- +41 −0 Source/SPFunctions.m
- +14 −0 sequel-pro.xcodeproj/project.pbxproj
@@ -0,0 +1,33 @@ | ||
// | ||
// SPFunctions.h | ||
// sequel-pro | ||
// | ||
// Created by Max Lohrmann on 01.10.15. | ||
// Copyright (c) 2015 Max Lohrmann. All rights reserved. | ||
// | ||
// Permission is hereby granted, free of charge, to any person | ||
// obtaining a copy of this software and associated documentation | ||
// files (the "Software"), to deal in the Software without | ||
// restriction, including without limitation the rights to use, | ||
// copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
// copies of the Software, and to permit persons to whom the | ||
// Software is furnished to do so, subject to the following | ||
// conditions: | ||
// | ||
// The above copyright notice and this permission notice shall be | ||
// included in all copies or substantial portions of the Software. | ||
// | ||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | ||
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||
// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
// OTHER DEALINGS IN THE SOFTWARE. | ||
// | ||
// More info at <https://github.com/sequelpro/sequelpro> | ||
|
||
|
||
void SPMainQSync(void (^block)(void)); | ||
|
@@ -0,0 +1,41 @@ | ||
// | ||
// SPFunctions.m | ||
// sequel-pro | ||
// | ||
// Created by Max Lohrmann on 01.10.15. | ||
// Copyright (c) 2015 Max Lohrmann. All rights reserved. | ||
// | ||
// Permission is hereby granted, free of charge, to any person | ||
// obtaining a copy of this software and associated documentation | ||
// files (the "Software"), to deal in the Software without | ||
// restriction, including without limitation the rights to use, | ||
// copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
// copies of the Software, and to permit persons to whom the | ||
// Software is furnished to do so, subject to the following | ||
// conditions: | ||
// | ||
// The above copyright notice and this permission notice shall be | ||
// included in all copies or substantial portions of the Software. | ||
// | ||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | ||
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||
// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
// OTHER DEALINGS IN THE SOFTWARE. | ||
// | ||
// More info at <https://github.com/sequelpro/sequelpro> | ||
|
||
#import "SPFunctions.h" | ||
|
||
void SPMainQSync(void (^block)(void)) | ||
{ | ||
if(dispatch_get_current_queue() == dispatch_get_main_queue()) { | ||
This comment has been minimized. |
||
block(); | ||
} | ||
else { | ||
dispatch_sync(dispatch_get_main_queue(), block); | ||
} | ||
} |
@dmoagx Probably we should use [NSThread isMainThread] instead of dispatch_get_current_queue() since it is deprecated since OSX 10.9.