Jonah Williams 2d30ce56fe
[engine] dont double free surface texture interop objects. (#170284)
Fixes https://github.com/flutter/flutter/issues/152459

I suspect the double free is related to
https://github.com/flutter/flutter/issues/162147 .

With the Impeller backend, the second free is performed by the reactor
and comes only after the application has returned to the foreground.
This increaases the likelyhood that we nuke a handle that is in active
use by another part of the system.

Since SurfaceTexture:: detachFromGLContext is documented as releasing
the texture, we don't need to free it at all and can "leak" it on our
side.
2025-06-10 16:25:12 +00:00
..

Flutter Engine

Setting up the Engine development environment

See here

gclient bootstrap

Flutter engine uses gclient to manage dependencies.

If you've already cloned the flutter repository:

  1. Copy one of the engine/scripts/*.gclient to the root folder as .gclient:
    1. Googlers: copy rbe.gclient to enable faster builds with RBE
    2. Everyone else: copy standard.gclient
  2. run gclient sync from the root folder