Bug fix: SAR window crashes when escape pressed
[geeqie.git] / src / filefilter.cc
index bb465de..648aea7 100644 (file)
@@ -160,17 +160,7 @@ static void filter_add_if_missing(const gchar *key, const gchar *description, co
 
 void filter_reset()
 {
-       GList *work;
-
-       work = filter_list;
-       while (work)
-               {
-               auto fe = static_cast<FilterEntry *>(work->data);
-               work = work->next;
-               filter_entry_free(fe);
-               }
-
-       g_list_free(filter_list);
+       g_list_free_full(filter_list, reinterpret_cast<GDestroyNotify>(filter_entry_free));
        filter_list = nullptr;
 }
 
@@ -303,14 +293,14 @@ void filter_add_defaults()
        filter_add_if_missing("rw2", "Panasonic raw format", ".rw2", FORMAT_CLASS_RAWIMAGE, FALSE, TRUE, TRUE);
 
        /* video files */
-       filter_add_if_missing("mp4", "MP4 video file", ".mp4;.m4v;.3gp;.3g2", FORMAT_CLASS_VIDEO, FALSE, FALSE, FALSE);
-       filter_add_if_missing("3gp", "3GP video file", ".3gp;.3g2", FORMAT_CLASS_VIDEO, FALSE, FALSE, FALSE);
-       filter_add_if_missing("mov", "MOV video file", ".mov;.qt", FORMAT_CLASS_VIDEO, FALSE, FALSE, FALSE);
-       filter_add_if_missing("avi", "AVI video file", ".avi", FORMAT_CLASS_VIDEO, FALSE, FALSE, FALSE);
-       filter_add_if_missing("mpg", "MPG video file", ".mpg;.mpeg;.mts;.m2ts", FORMAT_CLASS_VIDEO, FALSE, FALSE, FALSE);
-       filter_add_if_missing("mkv", "Matroska video file", ".mkv;.webm", FORMAT_CLASS_VIDEO, FALSE, FALSE, FALSE);
-       filter_add_if_missing("wmv", "Windows Media Video file", ".wmv;.asf", FORMAT_CLASS_VIDEO, FALSE, FALSE, FALSE);
-       filter_add_if_missing("flv", "Flash Video file", ".flv", FORMAT_CLASS_VIDEO, FALSE, FALSE, FALSE);
+       filter_add_if_missing("mp4", "MP4 video file", ".mp4;.m4v;.3gp;.3g2", FORMAT_CLASS_VIDEO, FALSE, FALSE, TRUE);
+       filter_add_if_missing("3gp", "3GP video file", ".3gp;.3g2", FORMAT_CLASS_VIDEO, FALSE, FALSE, TRUE);
+       filter_add_if_missing("mov", "MOV video file", ".mov;.qt", FORMAT_CLASS_VIDEO, FALSE, FALSE, TRUE);
+       filter_add_if_missing("avi", "AVI video file", ".avi", FORMAT_CLASS_VIDEO, FALSE, FALSE, TRUE);
+       filter_add_if_missing("mpg", "MPG video file", ".mpg;.mpeg;.mts;.m2ts", FORMAT_CLASS_VIDEO, FALSE, FALSE, TRUE);
+       filter_add_if_missing("mkv", "Matroska video file", ".mkv;.webm", FORMAT_CLASS_VIDEO, FALSE, FALSE, TRUE);
+       filter_add_if_missing("wmv", "Windows Media Video file", ".wmv;.asf", FORMAT_CLASS_VIDEO, FALSE, FALSE, TRUE);
+       filter_add_if_missing("flv", "Flash Video file", ".flv", FORMAT_CLASS_VIDEO, FALSE, FALSE, TRUE);
 }
 
 GList *filter_to_list(const gchar *extensions)
@@ -377,18 +367,18 @@ void filter_rebuild()
        GList *work;
        guint i;
 
-       string_list_free(extension_list);
+       g_list_free_full(extension_list, g_free);
        extension_list = nullptr;
 
-       string_list_free(file_writable_list);
+       g_list_free_full(file_writable_list, g_free);
        file_writable_list = nullptr;
 
-       string_list_free(file_sidecar_list);
+       g_list_free_full(file_sidecar_list, g_free);
        file_sidecar_list = nullptr;
 
        for (i = 0; i < FILE_FORMAT_CLASSES; i++)
                {
-               string_list_free(file_class_extension_list[i]);
+               g_list_free_full(file_class_extension_list[i], g_free);
                file_class_extension_list[i] = nullptr;
                }
 
@@ -580,16 +570,7 @@ GList *sidecar_ext_get_list()
 
 static void sidecar_ext_free_list()
 {
-       GList *work;
-
-       work = sidecar_ext_list;
-       while (work)
-               {
-               auto ext = static_cast<gchar *>(work->data);
-               work = work->next;
-               g_free(ext);
-               }
-       g_list_free(sidecar_ext_list);
+       g_list_free_full(sidecar_ext_list, g_free);
        sidecar_ext_list = nullptr;
 }