From: Arkadiy Illarionov Date: Sat, 23 Mar 2024 20:46:40 +0000 (+0300) Subject: Use g_list_free_full to free draw_queue and draw_queue_2pass X-Git-Url: http://geeqie.org/cgi-bin/gitweb.cgi?p=geeqie.git;a=commitdiff_plain;h=4a20426057742f81231c2146ed138291d7ca9fe1 Use g_list_free_full to free draw_queue and draw_queue_2pass --- diff --git a/src/renderer-tiles.cc b/src/renderer-tiles.cc index 4101f260..8c1a1c22 100644 --- a/src/renderer-tiles.cc +++ b/src/renderer-tiles.cc @@ -1780,32 +1780,21 @@ static gboolean rt_queue_draw_idle_cb(gpointer data) return rt_queue_schedule_next_draw(rt, FALSE); } -static void rt_queue_list_free(GList *list) +static void rt_queue_data_free(gpointer data) { - GList *work; - - work = list; - while (work) - { - QueueData *qd; - - qd = static_cast(work->data); - work = work->next; + auto *qd = static_cast(data); - qd->it->qd = nullptr; - qd->it->qd2 = nullptr; - g_free(qd); - } - - g_list_free(list); + qd->it->qd = nullptr; + qd->it->qd2 = nullptr; + g_free(qd); } static void rt_queue_clear(RendererTiles *rt) { - rt_queue_list_free(rt->draw_queue); + g_list_free_full(rt->draw_queue, rt_queue_data_free); rt->draw_queue = nullptr; - rt_queue_list_free(rt->draw_queue_2pass); + g_list_free_full(rt->draw_queue_2pass, rt_queue_data_free); rt->draw_queue_2pass = nullptr; if (rt->draw_idle_id)