浏览代码

Fix crash on exit or resume on iOS 13

Fixes #7966.
Max 5 年之前
父节点
当前提交
29bde8cd74
共有 1 个文件被更改,包括 7 次插入6 次删除
  1. 7 6
      platform/iphone/gl_view.mm

+ 7 - 6
platform/iphone/gl_view.mm

@@ -340,6 +340,7 @@ static void clear_touches() {
 	[EAGLContext setCurrentContext:context];
 	[self destroyFramebuffer];
 	[self createFramebuffer];
+	[self drawView];
 }
 
 - (BOOL)createFramebuffer {
@@ -455,23 +456,23 @@ static void clear_touches() {
 
 // Updates the OpenGL view when the timer fires
 - (void)drawView {
+
+	if (!active) {
+		printf("draw view not active!\n");
+		return;
+	};
 	if (useCADisplayLink) {
 		// Pause the CADisplayLink to avoid recursion
 		[displayLink setPaused:YES];
 
 		// Process all input events
-		while (CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0, TRUE) == kCFRunLoopRunHandledSource)
+		while (CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0.0, TRUE) == kCFRunLoopRunHandledSource)
 			;
 
 		// We are good to go, resume the CADisplayLink
 		[displayLink setPaused:NO];
 	}
 
-	if (!active) {
-		printf("draw view not active!\n");
-		return;
-	};
-
 	// Make sure that you are drawing to the current context
 	[EAGLContext setCurrentContext:context];