mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-08-22 21:44:46 +00:00
parent
42f801f269
commit
e60b51bbbf
@ -51,18 +51,25 @@ CGFloat ASDisplayNodeScreenScale()
|
|||||||
{
|
{
|
||||||
static CGFloat screenScale = 0.0;
|
static CGFloat screenScale = 0.0;
|
||||||
static dispatch_once_t onceToken;
|
static dispatch_once_t onceToken;
|
||||||
dispatch_once(&onceToken, ^{
|
ASDispatchOnceOnMainThread(&onceToken, ^{
|
||||||
if ([NSThread isMainThread]) {
|
screenScale = [[UIScreen mainScreen] scale];
|
||||||
screenScale = [[UIScreen mainScreen] scale];
|
|
||||||
} else {
|
|
||||||
dispatch_sync(dispatch_get_main_queue(), ^{
|
|
||||||
screenScale = [[UIScreen mainScreen] scale];
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
return screenScale;
|
return screenScale;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ASDispatchOnceOnMainThread(dispatch_once_t *predicate, dispatch_block_t block)
|
||||||
|
{
|
||||||
|
if ([NSThread isMainThread]) {
|
||||||
|
dispatch_once(predicate, block);
|
||||||
|
} else {
|
||||||
|
if (DISPATCH_EXPECT(*predicate == 0L, NO)) {
|
||||||
|
dispatch_sync(dispatch_get_main_queue(), ^{
|
||||||
|
dispatch_once(predicate, block);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void ASDisplayNodePerformBlockOnMainThread(void (^block)())
|
void ASDisplayNodePerformBlockOnMainThread(void (^block)())
|
||||||
{
|
{
|
||||||
if ([NSThread isMainThread]) {
|
if ([NSThread isMainThread]) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user