Fix usage of vectors
authorArkadiy Illarionov <qarkai@gmail.com>
Mon, 24 Jul 2023 20:32:08 +0000 (23:32 +0300)
committerColin Clark <colin.clark@cclark.uk>
Fri, 28 Jul 2023 13:03:18 +0000 (14:03 +0100)
reserve() doesn't allocate elements.

src/color-man.cc
src/view-file/view-file-list.cc

index 2be54a0..16005ff 100644 (file)
@@ -511,7 +511,7 @@ static cmsToneCurve* colorspaces_create_transfer(int32_t size, double (*fct)(dou
                {
                const double x = static_cast<float>(i) / (size - 1);
                const double y = MIN(fct(x), 1.0f);
-               values[i] = static_cast<float>(y);
+               values.push_back(static_cast<float>(y));
                }
 
        return cmsBuildTabulatedToneCurveFloat(nullptr, size, values.data());
index 47586eb..47b0858 100644 (file)
@@ -1071,12 +1071,13 @@ static void vflist_setup_iter_recursive(ViewFile *vf, GtkTreeStore *store, GtkTr
                std::vector<gint> new_order;
                new_order.reserve(num_total);
 
-               for (gint i = 0; i < num_total; i++)
+               for (gint i = 0; i < num_ordered; i++)
                        {
-                       if (i < num_ordered)
-                               new_order[i] = num_prepended + i;
-                       else
-                               new_order[i] = num_total - 1 - i;
+                       new_order.push_back(num_prepended + i);
+                       }
+               for (gint i = num_ordered; i < num_total; i++)
+                       {
+                       new_order.push_back(num_total - 1 - i);
                        }
                gtk_tree_store_reorder(store, parent_iter, new_order.data());
                }
@@ -1111,12 +1112,10 @@ void vflist_sort_set(ViewFile *vf, SortType type, gboolean ascend)
        new_order.reserve(i);
 
        work = vf->list;
-       i = 0;
        while (work)
                {
                auto fd = static_cast<FileData *>(work->data);
-               new_order[i] = GPOINTER_TO_INT(g_hash_table_lookup(fd_idx_hash, fd));
-               i++;
+               new_order.push_back(GPOINTER_TO_INT(g_hash_table_lookup(fd_idx_hash, fd)));
                work = work->next;
                }