Browse Source

Merge branch 'master' into fixes/fix-ci-net-7.0.100

Nikita Tsukanov 3 years ago
parent
commit
767619ed5f
1 changed files with 4 additions and 1 deletions
  1. 4 1
      native/Avalonia.Native/src/OSX/rendertarget.mm

+ 4 - 1
native/Avalonia.Native/src/OSX/rendertarget.mm

@@ -183,8 +183,11 @@ static IAvnGlSurfaceRenderTarget* CreateGlRenderTarget(IOSurfaceRenderTarget* ta
                 [_layer setContents: (__bridge IOSurface*) surface->surface];
             }
             [CATransaction commit];
-            [CATransaction flush];
         }
+        // This can trigger event processing on the main thread
+        // which might need to lock the renderer
+        // which can cause a deadlock. So flush call is outside of the lock
+        [CATransaction flush];
     }
     else
         dispatch_async(dispatch_get_main_queue(), ^{