Skip to content

fix(linux): compile against the Flutter 3.44 Linux embedder#56

Open
ericgriffin wants to merge 1 commit into
Knightro63:mainfrom
submersion-app:flutter-3.44-linux-embedder
Open

fix(linux): compile against the Flutter 3.44 Linux embedder#56
ericgriffin wants to merge 1 commit into
Knightro63:mainfrom
submersion-app:flutter-3.44-linux-embedder

Conversation

@ericgriffin

Copy link
Copy Markdown

Problem

The Linux plugin fails to compile on Flutter 3.44.x stable:

fl_angle_texture_gl.cc:40: error: assigning to 'gboolean (*)(FlTextureGL *, uint32_t *, uint32_t *, uint32_t *, uint32_t *, GError **)' from incompatible type 'gboolean (FlTextureGL *, uint32_t *, uint32_t *, GError **)': different number of parameters (6 vs 4)
flutter_angle_plugin.cc:93: error: no member named 'eglContext' in '_FlutterAnglePlugin'

Fixes

  1. FlTextureGL.populate signature: the Flutter Linux embedder's populate virtual method takes width/height out-parameters. FlAngleTextureGL already stores both, so the callback now reports them.
  2. Missing struct member: flutter_angle_plugin.cc assigns self->eglContext when creating the shared context, but _FlutterAnglePlugin never declared the member. Added EGLContext eglContext;.

Verification

Compiled and linked in a release Linux build (flutter build linux --release) on Flutter 3.44.4 stable / clang 18 (Ubuntu, GitHub Actions) as part of an app depending on flutter_angle 0.4.1 with these two changes applied.

- FlTextureGL populate gained width/height out-params (6-arg signature);
  report the texture's stored dimensions.
- Declare the EGLContext member that flutter_angle_plugin.cc assigns;
  it was missing from _FlutterAnglePlugin entirely.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant