MediaPickerViewController: Add sanity checks to avoid crashes

- [MediaPickerViewController setupAVCapture] (in Riot) (MediaPickerViewController.m:1158) (https://github.com/matrix-org/riot-ios-rageshakes/issues/312)
- [MediaPickerViewController tearDownAVCapture] (in Riot) (MediaPickerViewController.m:1198) (https://github.com/matrix-org/riot-ios-rageshakes/issues/314)
This commit is contained in:
manuroe 2017-09-25 18:13:14 +02:00
parent 391712e2df
commit c88d773922

View file

@ -1000,6 +1000,12 @@ static void *RecordingContext = &RecordingContext;
NSLog(@"[MediaPickerVC] Attemping to setup AVCapture when it is already started!"); NSLog(@"[MediaPickerVC] Attemping to setup AVCapture when it is already started!");
return; return;
} }
if (!cameraQueue)
{
NSLog(@"[MediaPickerVC] Attemping to setup AVCapture when it is being destroyed!");
return;
}
isCaptureSessionSetupInProgress = YES; isCaptureSessionSetupInProgress = YES;
[self.cameraActivityIndicator startAnimating]; [self.cameraActivityIndicator startAnimating];
@ -1192,6 +1198,12 @@ static void *RecordingContext = &RecordingContext;
- (void)tearDownAVCapture - (void)tearDownAVCapture
{ {
if (!cameraQueue)
{
NSLog(@"[MediaPickerVC] Attemping to tear down AVCapture when it is being destroyed!");
return;
}
dispatch_sync(cameraQueue, ^{ dispatch_sync(cameraQueue, ^{
frontCameraInput = nil; frontCameraInput = nil;
backCameraInput = nil; backCameraInput = nil;