patch 8.1.1944: leaking memory when using sound callback
Problem: Leaking memory when using sound callback.
Solution: src/sound.c
diff --git a/src/sound.c b/src/sound.c
index 69bbc5e..11170af 100644
--- a/src/sound.c
+++ b/src/sound.c
@@ -171,6 +171,7 @@
clear_tv(&rettv);
delete_sound_callback(scb->scb_callback);
+ vim_free(scb);
}
redraw_after_callback(TRUE);
}
@@ -263,10 +264,21 @@
void
sound_free(void)
{
+ soundcb_queue_T *scb;
+
if (context != NULL)
ca_context_destroy(context);
+
while (first_callback != NULL)
delete_sound_callback(first_callback);
+
+ while (callback_queue != NULL)
+ {
+ scb = callback_queue;
+ callback_queue = scb->scb_next;
+ delete_sound_callback(scb->scb_callback);
+ vim_free(scb);
+ }
}
# endif