summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgaobo-kylinsec <[email protected]>2026-04-23 19:46:07 +0800
committerVictor Kareh <[email protected]>2026-05-05 05:55:08 -0400
commit735a032903731a91417f0197a881216ef539c72b (patch)
tree782fe7fa4c203432fcbaab4255b7a8978b0bc22c
parent20f53d95ad67f92e9baaa7084e0c0f8551355d19 (diff)
downloadcaja-735a032903731a91417f0197a881216ef539c72b.tar.bz2
caja-735a032903731a91417f0197a881216ef539c72b.tar.xz
notes-viewer: fix memory leak of text buffer
Valgrind shows: ==2022== 40,416 bytes in 1,010 blocks are still reachable in loss record 1,771 of 1,825 ==2022== at 0x877258A: g_type_create_instance (in /usr/lib64/libgobject-2.0.so.0.5600.1) ==2022== by 0x87561FC: ??? (in /usr/lib64/libgobject-2.0.so.0.5600.1) ==2022== by 0x8758120: g_object_new_valist (in /usr/lib64/libgobject-2.0.so.0.5600.1) ==2022== by 0x8758468: g_object_new (in /usr/lib64/libgobject-2.0.so.0.5600.1) ==2022== by 0x468B2C: caja_notes_viewer_init (caja-notes-viewer.c:339) gtk_text_view_new_with_buffer() adds a reference to the text buffer, so we need to unref it after to transfer ownership.
-rw-r--r--src/caja-notes-viewer.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/caja-notes-viewer.c b/src/caja-notes-viewer.c
index 10f03e0b..d6591664 100644
--- a/src/caja-notes-viewer.c
+++ b/src/caja-notes-viewer.c
@@ -338,6 +338,8 @@ caja_notes_viewer_init (CajaNotesViewer *sidebar)
/* create the text container */
details->text_buffer = gtk_text_buffer_new (NULL);
details->note_text_field = gtk_text_view_new_with_buffer (details->text_buffer);
+ // gtk_text_view_new_with_buffer will add reference to text buffer
+ g_object_unref (details->text_buffer);
gtk_text_view_set_editable (GTK_TEXT_VIEW (details->note_text_field), TRUE);
gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (details->note_text_field),