Commit: patch 9.2.0816: GTK4: Memory leak in gui_gtk_set_dnd_targets()

1 view
Skip to first unread message

Christian Brabandt

unread,
Jul 20, 2026, 1:15:14 PM (yesterday) Jul 20
to vim...@googlegroups.com
patch 9.2.0816: GTK4: Memory leak in gui_gtk_set_dnd_targets()

Commit: https://github.com/vim/vim/commit/dd326ec1e8c8a7f734be79abed973871a298697b
Author: Foxe Chen <chen...@gmail.com>
Date: Mon Jul 20 17:00:22 2026 +0000

patch 9.2.0816: GTK4: Memory leak in gui_gtk_set_dnd_targets()

Problem: GTK4: Memory leak in gui_gtk_set_dnd_targets()
Solution: Unref formats (Foxe Chen)

closes: #20729

Signed-off-by: Foxe Chen <chen...@gmail.com>
Signed-off-by: Christian Brabandt <c...@256bit.org>

diff --git a/src/gui_gtk4.c b/src/gui_gtk4.c
index 2bcb31ce9..fbe4ec553 100644
--- a/src/gui_gtk4.c
+++ b/src/gui_gtk4.c
@@ -2582,15 +2582,17 @@ read_data_input_cb(
void
gui_gtk_set_dnd_targets(void)
{
- GdkContentFormatsBuilder *builder = gdk_content_formats_builder_new();
+ GdkContentFormatsBuilder *builder = gdk_content_formats_builder_new();
+ GdkContentFormats *formats;

gdk_content_formats_builder_add_gtype(builder, GDK_TYPE_FILE_LIST);
gdk_content_formats_builder_add_gtype(builder, G_TYPE_STRING);
if (clip_html)
gdk_content_formats_builder_add_mime_type(builder, "text/html");

- gtk_drop_target_async_set_formats(gui.drop_target,
- gdk_content_formats_builder_free_to_formats(builder));
+ formats = gdk_content_formats_builder_free_to_formats(builder);
+ gtk_drop_target_async_set_formats(gui.drop_target, formats);
+ gdk_content_formats_unref(formats);
}

/*
diff --git a/src/version.c b/src/version.c
index 28726e373..bb8df567b 100644
--- a/src/version.c
+++ b/src/version.c
@@ -759,6 +759,8 @@ static char *(features[]) =

static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 816,
/**/
815,
/**/
Reply all
Reply to author
Forward
0 new messages