From 8e6c8102d9a9080c31b2ce0731317a2bb946d236 Mon Sep 17 00:00:00 2001 From: Will Thompson Date: Mon, 24 Mar 2025 10:22:03 +0000 Subject: [PATCH] gtksourceview: Add typecast when setting source_buffer MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit With the GNOME 48 runtime, build fails with: gtksourceview.c: In function ‘set_source_buffer’: gtksourceview.c:1589:43: error: assignment to ‘GtkSourceBuffer *’ {aka ‘struct _GtkSourceBuffer *’} from incompatible pointer type ‘GtkTextBuffer *’ {aka ‘struct _GtkTextBuffer *’} [-Wincompatible-pointer-types] 1589 | view->priv->source_buffer = g_object_ref (buffer); | ^ I believe this is due to newer GLib versions preserving type information in g_object_ref(). This code path is guarded with a GTK_IS_SOURCE_BUFFER (buffer) check so the assignment is correct. Add a cast. (On newer branches, this was fixed in commit aa3140aa69760b62e4aaea726801951c1cb6b8b5 but that does not apply cleanly to the gnome-3-24 branch.) --- gtksourceview/gtksourceview.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtksourceview/gtksourceview.c b/gtksourceview/gtksourceview.c index 0c3a007b9..c8be4bfdf 100644 --- a/gtksourceview/gtksourceview.c +++ b/gtksourceview/gtksourceview.c @@ -1586,7 +1586,7 @@ set_source_buffer (GtkSourceView *view, { GtkSourceBufferInternal *buffer_internal; - view->priv->source_buffer = g_object_ref (buffer); + view->priv->source_buffer = g_object_ref (GTK_SOURCE_BUFFER (buffer)); g_signal_connect (buffer, "highlight-updated", -- GitLab