/* TODO: Add deinitalization code here */
/* FIXME: Clear up region_list contents */
delete_state (sub);
+ while (sub->display_list) {
+ DVBSubRegionDisplay *tmp = sub->display_list->next;
+ g_slice_free (DVBSubRegionDisplay, sub->display_list);
+ sub->display_list = tmp;
+ }
g_string_free (sub->pes_buffer, TRUE);
g_slice_free (DvbSub, sub);
}
dvb_subtitles_free (subs);
}
+ if (render->current_subtitle)
+ dvb_subtitles_free (render->current_subtitle);
+ render->current_subtitle = NULL;
+
if (render->dvb_sub)
dvb_sub_free (render->dvb_sub);
}
g_queue_free (overlay->pending_subtitles);
+ if (overlay->current_subtitle)
+ dvb_subtitles_free (overlay->current_subtitle);
+ overlay->current_subtitle = NULL;
+
if (overlay->dvb_sub)
dvb_sub_free (overlay->dvb_sub);