diff --git a/engine/src/flutter/shell/platform/linux/fl_gl_area.cc b/engine/src/flutter/shell/platform/linux/fl_gl_area.cc index 8d7200c351e..f746a1ef01c 100644 --- a/engine/src/flutter/shell/platform/linux/fl_gl_area.cc +++ b/engine/src/flutter/shell/platform/linux/fl_gl_area.cc @@ -118,7 +118,7 @@ GtkWidget* fl_gl_area_new(GdkGLContext* context) { g_return_val_if_fail(GDK_IS_GL_CONTEXT(context), nullptr); FlGLArea* area = reinterpret_cast(g_object_new(fl_gl_area_get_type(), nullptr)); - area->context = context; + area->context = GDK_GL_CONTEXT(g_object_ref(context)); return GTK_WIDGET(area); } diff --git a/engine/src/flutter/shell/platform/linux/fl_renderer_gl.cc b/engine/src/flutter/shell/platform/linux/fl_renderer_gl.cc index 9a657f290f4..52fbe44e6f0 100644 --- a/engine/src/flutter/shell/platform/linux/fl_renderer_gl.cc +++ b/engine/src/flutter/shell/platform/linux/fl_renderer_gl.cc @@ -103,7 +103,6 @@ static gboolean fl_renderer_gl_present_layers(FlRenderer* renderer, case kFlutterLayerContentTypeBackingStore: { const FlutterBackingStore* backing_store = layer->backing_store; auto framebuffer = &backing_store->open_gl.framebuffer; - g_object_ref(context); fl_view_add_gl_area( view, context, reinterpret_cast(framebuffer->user_data));