Bug fix: SAR window crashes when escape pressed
[geeqie.git] / src / view-dir-list.cc
index 8b5e268..1cb86d6 100644 (file)
 #include "view-dir-list.h"
 
 #include "filedata.h"
+#include "layout.h"
 #include "ui-fileops.h"
 #include "ui-tree-edit.h"
 #include "view-dir.h"
 
+struct ViewDirInfoList
+{
+       GList *list;
+};
+
 #define VDLIST(_vd_) ((ViewDirInfoList *)(_vd_->info))
 
 
@@ -139,18 +145,20 @@ static gboolean vdlist_populate(ViewDir *vd, gboolean clear)
        FileData *fd;
        SortType sort_type = SORT_NAME;
        gboolean sort_ascend = TRUE;
+       gboolean sort_case = TRUE;
        gchar *link = nullptr;
 
        if (vd->layout)
                {
                sort_type = vd->layout->options.dir_view_list_sort.method;
                sort_ascend = vd->layout->options.dir_view_list_sort.ascend;
+               sort_case = vd->layout->options.dir_view_list_sort.case_sensitive;
                }
 
        old_list = VDLIST(vd)->list;
 
        ret = filelist_read(vd->dir_fd, nullptr, &VDLIST(vd)->list);
-       VDLIST(vd)->list = filelist_sort(VDLIST(vd)->list, sort_type, sort_ascend);
+       VDLIST(vd)->list = filelist_sort(VDLIST(vd)->list, sort_type, sort_ascend, sort_case);
 
        /* add . and .. */
 
@@ -428,7 +436,7 @@ gboolean vdlist_press_cb(GtkWidget *widget, GdkEventButton *bevent, gpointer dat
        return options->view_dir_list_single_click_enter;
 }
 
-void vdlist_destroy_cb(GtkWidget *UNUSED(widget), gpointer data)
+void vdlist_destroy_cb(GtkWidget *, gpointer data)
 {
        auto vd = static_cast<ViewDir *>(data);
 
@@ -438,7 +446,7 @@ void vdlist_destroy_cb(GtkWidget *UNUSED(widget), gpointer data)
        filelist_free(VDLIST(vd)->list);
 }
 
-ViewDir *vdlist_new(ViewDir *vd, FileData *UNUSED(dir_fd))
+ViewDir *vdlist_new(ViewDir *vd, FileData *)
 {
        GtkListStore *store;
        GtkTreeSelection *selection;