mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-08-16 02:20:07 +00:00
Make sure multiple setup runs are ignored
If the `configure` initializers or `startManager` are invoked multiple times, this can cause undefined behaviour and crashes. Hence we simply ignore if they are invoked multiple times.
This commit is contained in:
parent
20a777ccf8
commit
d7e17d2f1c
@ -88,6 +88,8 @@ bitstadium_info_t bitstadium_library_info __attribute__((section("__TEXT,__bit_h
|
||||
|
||||
BOOL _startUpdateManagerIsInvoked;
|
||||
|
||||
BOOL _managersInitialized;
|
||||
|
||||
BITHockeyAppClient *_hockeyAppClient;
|
||||
}
|
||||
|
||||
@ -134,6 +136,7 @@ bitstadium_info_t bitstadium_library_info __attribute__((section("__TEXT,__bit_h
|
||||
if ((self = [super init])) {
|
||||
_serverURL = nil;
|
||||
_delegate = nil;
|
||||
_managersInitialized = NO;
|
||||
|
||||
_hockeyAppClient = nil;
|
||||
|
||||
@ -209,6 +212,7 @@ bitstadium_info_t bitstadium_library_info __attribute__((section("__TEXT,__bit_h
|
||||
|
||||
- (void)startManager {
|
||||
if (!_validAppIdentifier) return;
|
||||
if (_startManagerIsInvoked) return;
|
||||
|
||||
if (![self isSetUpOnMainThread]) return;
|
||||
|
||||
@ -584,6 +588,8 @@ bitstadium_info_t bitstadium_library_info __attribute__((section("__TEXT,__bit_h
|
||||
}
|
||||
|
||||
- (void)initializeModules {
|
||||
if (_managersInitialized) return;
|
||||
|
||||
_validAppIdentifier = [self checkValidityOfAppIdentifier:_appIdentifier];
|
||||
|
||||
if (![self isSetUpOnMainThread]) return;
|
||||
@ -628,6 +634,7 @@ bitstadium_info_t bitstadium_library_info __attribute__((section("__TEXT,__bit_h
|
||||
[self pingServerForIntegrationStartWorkflowWithTimeString:integrationFlowTime appIdentifier:_appIdentifier];
|
||||
}
|
||||
}
|
||||
_managersInitialized = YES;
|
||||
} else {
|
||||
[self logInvalidIdentifier:@"app identifier"];
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user