From dd669f36312f1bd68609aec19e711926efc212be Mon Sep 17 00:00:00 2001 From: Chris Bracken Date: Wed, 17 Nov 2021 11:04:33 -0800 Subject: [PATCH] Acquire context reference at the correct time for FlGlArea. (flutter/engine#29791) This is a reland of flutter/engine#29178 onto the main branch. The original patch was landed on the master branch during the branch switch from master to main. --- engine/src/flutter/shell/platform/linux/fl_gl_area.cc | 2 +- engine/src/flutter/shell/platform/linux/fl_renderer_gl.cc | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) 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));