Documentation: Use G_SOURCE_CONTINUE and G_SOURCE_REMOVE
[geeqie.git] / src / dupe.cc
index 9a62c4e..8ea13e9 100644 (file)
@@ -147,20 +147,20 @@ hard_coded_window_keys dupe_window_keys[] = {
        {GDK_CONTROL_MASK, 'R', N_("Rename")},
        {GDK_CONTROL_MASK, 'D', N_("Move to Trash")},
        {GDK_SHIFT_MASK, GDK_KEY_Delete, N_("Delete")},
-       {0, GDK_KEY_Delete, N_("Remove")},
+       {static_cast<GdkModifierType>(0), GDK_KEY_Delete, N_("Remove")},
        {GDK_CONTROL_MASK, GDK_KEY_Delete, N_("Clear")},
        {GDK_CONTROL_MASK, 'A', N_("Select all")},
-       {GDK_CONTROL_MASK + GDK_SHIFT_MASK, 'A', N_("Select none")},
+       {static_cast<GdkModifierType>(GDK_CONTROL_MASK + GDK_SHIFT_MASK), 'A', N_("Select none")},
        {GDK_CONTROL_MASK, 'T', N_("Toggle thumbs")},
        {GDK_CONTROL_MASK, 'W', N_("Close window")},
-       {0, GDK_KEY_Return, N_("View")},
-       {0, 'V', N_("View in new window")},
-       {0, 'C', N_("Collection from selection")},
+       {static_cast<GdkModifierType>(0), GDK_KEY_Return, N_("View")},
+       {static_cast<GdkModifierType>(0), 'V', N_("View in new window")},
+       {static_cast<GdkModifierType>(0), 'C', N_("Collection from selection")},
        {GDK_CONTROL_MASK, 'L', N_("Append list")},
-       {0, '0', N_("Select none")},
-       {0, '1', N_("Select group 1 duplicates")},
-       {0, '2', N_("Select group 2 duplicates")},
-       {0, 0, NULL}
+       {static_cast<GdkModifierType>(0), '0', N_("Select none")},
+       {static_cast<GdkModifierType>(0), '1', N_("Select group 1 duplicates")},
+       {static_cast<GdkModifierType>(0), '2', N_("Select group 2 duplicates")},
+       {static_cast<GdkModifierType>(0), 0, NULL}
 };
 
 /**
@@ -175,8 +175,8 @@ hard_coded_window_keys dupe_window_keys[] = {
  */
 static void dupe_comparison_func(gpointer d1, gpointer d2)
 {
-       DupeQueueItem *dqi = d1;
-       DupeWindow *dw = d2;
+       DupeQueueItem *dqi = static_cast<DupeQueueItem *>(d1);
+       DupeWindow *dw = static_cast<DupeWindow *>(d2);
        DupeSearchMatch *dsm;
        DupeItem *di;
        GList *matches = NULL;
@@ -187,7 +187,7 @@ static void dupe_comparison_func(gpointer d1, gpointer d2)
                GList *work = dqi->work;
                while (work)
                        {
-                       di = work->data;
+                       di = static_cast<DupeItem *>(work->data);
 
                        /* forward for second set, back for simple compare */
                        if (dw->second_set)
@@ -390,7 +390,7 @@ static void widget_set_cursor(GtkWidget *widget, gint icon)
                }
        else
                {
-               cursor = gdk_cursor_new(icon);
+               cursor = gdk_cursor_new(static_cast<GdkCursorType>(icon));
                }
 
        gdk_window_set_cursor(gtk_widget_get_window(widget), cursor);
@@ -664,7 +664,7 @@ static void dupe_listview_add(DupeWindow *dw, DupeItem *parent, DupeItem *child)
 
                if (child->group)
                        {
-                       dm = child->group->data;
+                       dm = static_cast<DupeMatch *>(child->group->data);
                        rank = (gint)floor(dm->rank);
                        }
                else
@@ -704,7 +704,7 @@ static void dupe_listview_add(DupeWindow *dw, DupeItem *parent, DupeItem *child)
                text[DUPE_COLUMN_RANK] = g_strdup_printf("%d%s", rank, (di->second) ? " (2)" : "");
                }
 
-       text[DUPE_COLUMN_THUMB] = "";
+       text[DUPE_COLUMN_THUMB] = _("");
        text[DUPE_COLUMN_NAME] = (gchar *)di->fd->name;
        text[DUPE_COLUMN_SIZE] = text_from_size(di->fd->size);
        text[DUPE_COLUMN_DATE] = (gchar *)text_from_time(di->fd->date);
@@ -759,7 +759,7 @@ static void dupe_listview_populate(DupeWindow *dw)
                temp = g_list_last(parent->group);
                while (temp)
                        {
-                       DupeMatch *dm = temp->data;
+                       DupeMatch *dm = static_cast<DupeMatch *>(temp->data);
                        DupeItem *child;
 
                        child = dm->di;
@@ -1734,7 +1734,7 @@ static DUPE_CHECK_RESULT dupe_match_check(DupeItem *di1, DupeItem *di2, gpointer
 static gint dupe_match_binary_search_cb(gconstpointer a, gconstpointer b)
 {
        const DupeItem *di1 = *((DupeItem **) a);
-       const DupeItem *di2 = b;
+       const DupeItem *di2 = static_cast<const DupeItem *>(b);
        DupeMatchType mask = param_match_mask;
 
        if (mask & DUPE_MATCH_ALL)
@@ -1909,12 +1909,12 @@ static void dupe_array_check(DupeWindow *dw )
 
                        for (i_set1 = 0; i_set1 <= (gint)(array_set1->len) - 1; i_set1++)
                                {
-                               DupeItem *di1 = g_array_index(array_set1, gpointer, i_set1);
+                               DupeItem *di1 = static_cast<DupeItem *>(g_array_index(array_set1, gpointer, i_set1));
                                DupeItem *di2 = NULL;
                                /* If multiple identical entries in set 1, use the last one */
                                if (i_set1 < (gint)(array_set1->len) - 2)
                                        {
-                                       di2 = g_array_index(array_set1, gpointer, i_set1 + 1);
+                                       di2 = static_cast<DupeItem *>(g_array_index(array_set1, gpointer, i_set1 + 1));
                                        check_result = dupe_match_check(di1, di2, dw);
                                        if (check_result == DUPE_MATCH || check_result == DUPE_NAME_MATCH)
                                                {
@@ -1930,7 +1930,7 @@ static void dupe_array_check(DupeWindow *dw )
                                match_found = FALSE;
                                for(i=0; i < array_set2->len; i++)
                                        {
-                                       di2 = g_array_index(array_set2,  gpointer, i);
+                                       di2 = static_cast<DupeItem *>(g_array_index(array_set2,  gpointer, i));
                                        check_result = dupe_match_check(di1, di2, dw);
                                        if (check_result == DUPE_MATCH)
                                                {
@@ -1943,7 +1943,7 @@ static void dupe_array_check(DupeWindow *dw )
 
                                if (match_found)
                                        {
-                                       di2 = g_array_index(array_set2, gpointer, out_match_index);
+                                       di2 = static_cast<DupeItem *>(g_array_index(array_set2, gpointer, out_match_index));
 
                                        check_result = dupe_match_check(di1, di2, dw);
                                        if (check_result == DUPE_MATCH || check_result == DUPE_NAME_MATCH)
@@ -1959,7 +1959,7 @@ static void dupe_array_check(DupeWindow *dw )
                                                        break;
                                                        }
                                                /* Look for multiple matches in set 2 for item di1 */
-                                               di2 = g_array_index(array_set2, gpointer, i_set2);
+                                               di2 = static_cast<DupeItem *>(g_array_index(array_set2, gpointer, i_set2));
                                                check_result = dupe_match_check(di1, di2, dw);
                                                while (check_result == DUPE_MATCH || check_result == DUPE_NAME_MATCH)
                                                        {
@@ -1972,7 +1972,7 @@ static void dupe_array_check(DupeWindow *dw )
                                                                {
                                                                break;
                                                                }
-                                                       di2 = g_array_index(array_set2, gpointer, i_set2);
+                                                       di2 = static_cast<DupeItem *>(g_array_index(array_set2, gpointer, i_set2));
                                                        check_result = dupe_match_check(di1, di2, dw);
                                                        }
                                                }
@@ -1990,8 +1990,8 @@ static void dupe_array_check(DupeWindow *dw )
                        {
                        for (i_set1 = 0; i_set1 <= (gint)(array_set1->len) - 2; i_set1++)
                                {
-                               DupeItem *di1 = g_array_index(array_set1, gpointer, i_set1);
-                               DupeItem *di2 = g_array_index(array_set1, gpointer, i_set1 + 1);
+                               DupeItem *di1 = static_cast<DupeItem *>(g_array_index(array_set1, gpointer, i_set1));
+                               DupeItem *di2 = static_cast<DupeItem *>(g_array_index(array_set1, gpointer, i_set1 + 1));
 
                                check_result = dupe_match_check(di1, di2, dw);
                                if (check_result == DUPE_MATCH || check_result == DUPE_NAME_MATCH)
@@ -2007,7 +2007,7 @@ static void dupe_array_check(DupeWindow *dw )
                                                break;
                                                }
                                        /* Look for multiple matches for item di1 */
-                                       di2 = g_array_index(array_set1, gpointer, i_set1 + 1);
+                                       di2 = static_cast<DupeItem *>(g_array_index(array_set1, gpointer, i_set1 + 1));
                                        check_result = dupe_match_check(di1, di2, dw);
                                        while (check_result == DUPE_MATCH || check_result == DUPE_NAME_MATCH)
                                                {
@@ -2021,7 +2021,7 @@ static void dupe_array_check(DupeWindow *dw )
                                                        {
                                                        break;
                                                        }
-                                               di2 = g_array_index(array_set1, gpointer, i_set1 + 1);
+                                               di2 = static_cast<DupeItem *>(g_array_index(array_set1, gpointer, i_set1 + 1));
                                                check_result = dupe_match_check(di1, di2, dw);
                                                }
                                        }
@@ -2260,7 +2260,7 @@ static void dupe_loader_done_cb(ImageLoader *il, gpointer data)
 
        if (dw->setup_point)
                {
-               DupeItem *di = dw->setup_point->data;
+               DupeItem *di = static_cast<DupeItem *>(dw->setup_point->data);
 
                if (!di->simd)
                        {
@@ -2328,7 +2328,7 @@ static gboolean create_checksums_dimensions(DupeWindow *dw, GList *list)
 
                        while (dw->setup_point)
                                {
-                               DupeItem *di = dw->setup_point->data;
+                               DupeItem *di = static_cast<DupeItem *>(dw->setup_point->data);
 
                                dw->setup_point = dupe_setup_point_step(dw, dw->setup_point);
                                dw->setup_n++;
@@ -2365,7 +2365,7 @@ static gboolean create_checksums_dimensions(DupeWindow *dw, GList *list)
 
                        while (dw->setup_point)
                                {
-                               DupeItem *di = dw->setup_point->data;
+                               DupeItem *di = static_cast<DupeItem *>(dw->setup_point->data);
 
                                dw->setup_point = dupe_setup_point_step(dw, dw->setup_point);
                                dw->setup_n++;
@@ -2429,7 +2429,7 @@ static gboolean dupe_check_cb(gpointer data)
 
        if (!dw->idle_id)
                {
-               return FALSE;
+               return G_SOURCE_REMOVE;
                }
 
        if (!dw->setup_done) /* Clear on 1st entry */
@@ -2438,14 +2438,14 @@ static gboolean dupe_check_cb(gpointer data)
                        {
                        if (create_checksums_dimensions(dw, dw->list))
                                {
-                               return TRUE;
+                               return G_SOURCE_CONTINUE;
                                }
                        }
                if (dw->second_list)
                        {
                        if (create_checksums_dimensions(dw, dw->second_list))
                                {
-                               return TRUE;
+                               return G_SOURCE_CONTINUE;
                                }
                        }
                if ((dw->match_mask & DUPE_MATCH_SIM_HIGH ||
@@ -2459,7 +2459,7 @@ static gboolean dupe_check_cb(gpointer data)
 
                        while (dw->setup_point)
                                {
-                               DupeItem *di = dw->setup_point->data;
+                               DupeItem *di = static_cast<DupeItem *>(dw->setup_point->data);
 
                                if (!di->simd)
                                        {
@@ -2472,7 +2472,7 @@ static gboolean dupe_check_cb(gpointer data)
                                                if (cache_sim_data_filled(di->simd))
                                                        {
                                                        image_sim_alternate_processing(di->simd);
-                                                       return TRUE;
+                                                       return G_SOURCE_CONTINUE;
                                                        }
                                                }
 
@@ -2487,16 +2487,16 @@ static gboolean dupe_check_cb(gpointer data)
                                                di->simd = image_sim_new();
                                                image_loader_free(dw->img_loader);
                                                dw->img_loader = NULL;
-                                               return TRUE;
+                                               return G_SOURCE_CONTINUE;
                                                }
                                        dw->idle_id = 0;
-                                       return FALSE;
+                                       return G_SOURCE_REMOVE;
                                        }
 
                                dw->setup_point = dupe_setup_point_step(dw, dw->setup_point);
                                dw->setup_n++;
                                }
-                       dw->setup_mask |= DUPE_MATCH_SIM_MED;
+                       dw->setup_mask = static_cast<DupeMatchType>(dw->setup_mask | DUPE_MATCH_SIM_MED);
                        dupe_setup_reset(dw);
                        }
 
@@ -2523,7 +2523,7 @@ static gboolean dupe_check_cb(gpointer data)
                                {
                                dupe_window_update_progress(dw, _("Comparing..."), 0.0, FALSE);
 
-                               return TRUE;
+                               return G_SOURCE_CONTINUE;
                                }
 
                        if (dw->search_matches_sorted == NULL)
@@ -2536,7 +2536,7 @@ static gboolean dupe_check_cb(gpointer data)
                                {
                                dw->setup_n++;
                                dupe_window_update_progress(dw, _("Sorting..."), 0.0, FALSE);
-                               search_match_list_item = dw->search_matches_sorted->data;
+                               search_match_list_item = static_cast<DupeSearchMatch *>(dw->search_matches_sorted->data);
 
                                if (!dupe_match_link_exists(search_match_list_item->a, search_match_list_item->b))
                                        {
@@ -2547,7 +2547,7 @@ static gboolean dupe_check_cb(gpointer data)
 
                                if (dw->search_matches_sorted != NULL)
                                        {
-                                       return TRUE;
+                                       return G_SOURCE_CONTINUE;
                                        }
                                }
                        g_list_free(dw->search_matches);
@@ -2562,7 +2562,7 @@ static gboolean dupe_check_cb(gpointer data)
                                {
                                dw->setup_count = 0;
                                dupe_window_update_progress(dw, _("Sorting..."), 1.0, TRUE);
-                               return TRUE;
+                               return G_SOURCE_CONTINUE;
                                }
                        }
 
@@ -2579,7 +2579,7 @@ static gboolean dupe_check_cb(gpointer data)
 
                widget_set_cursor(dw->listview, -1);
 
-               return FALSE;
+               return G_SOURCE_REMOVE;
                /* The end */
                }
 
@@ -2607,7 +2607,7 @@ static gboolean dupe_check_cb(gpointer data)
                dupe_array_check(dw);
                }
 
-       return TRUE;
+       return G_SOURCE_CONTINUE;
 }
 
 static void dupe_check_start(DupeWindow *dw)
@@ -2617,7 +2617,7 @@ static void dupe_check_start(DupeWindow *dw)
        dw->setup_count = g_list_length(dw->list);
        if (dw->second_set) dw->setup_count += g_list_length(dw->second_list);
 
-       dw->setup_mask = 0;
+       dw->setup_mask = DUPE_MATCH_NONE;
        dupe_setup_reset(dw);
 
        dw->working = g_list_last(dw->list);
@@ -2698,7 +2698,7 @@ static void dupe_item_remove(DupeWindow *dw, DupeItem *di)
                                DupeItem *new_parent;
                                DupeMatch *dm;
 
-                               dm = parent->group->data;
+                               dm = static_cast<DupeMatch *>(parent->group->data);
                                new_parent = dm->di;
                                dupe_match_reparent(dw, parent, new_parent);
                                dupe_listview_remove(dw, parent);
@@ -2767,7 +2767,7 @@ static gboolean dupe_files_add_queue_cb(gpointer data)
                return FALSE;
                }
 
-       fd = queue->data;
+       fd = static_cast<FileData *>(queue->data);
        if (fd)
                {
                if (isfile(fd->path))
@@ -2888,7 +2888,7 @@ static void dupe_files_add(DupeWindow *dw, CollectionData *UNUSED(collection), C
        work = g_list_first(dw->list);
        while (work)
                {
-               di_list = work->data;
+               di_list = static_cast<DupeItem *>(work->data);
                if (di_list->fd == di->fd)
                        {
                        return;
@@ -2904,7 +2904,7 @@ static void dupe_files_add(DupeWindow *dw, CollectionData *UNUSED(collection), C
                work = g_list_first(dw->second_list);
                while (work)
                        {
-                       di_list = work->data;
+                       di_list = static_cast<DupeItem *>(work->data);
                        if (di_list->fd == di->fd)
                                {
                                return;
@@ -2933,14 +2933,14 @@ static void dupe_init_list_cache(DupeWindow *dw)
 
        for (GList *i = dw->list; i != NULL; i = i->next)
                {
-                       DupeItem *di = i->data;
+                       DupeItem *di = static_cast<DupeItem *>(i->data);
 
                        g_hash_table_add(dw->list_cache, di->fd);
                }
 
        for (GList *i = dw->second_list; i != NULL; i = i->next)
                {
-                       DupeItem *di = i->data;
+                       DupeItem *di = static_cast<DupeItem *>(i->data);
 
                        g_hash_table_add(dw->second_list_cache, di->fd);
                }
@@ -3269,7 +3269,7 @@ static void dupe_window_remove_selection(DupeWindow *dw, GtkWidget *listview)
                {
                DupeItem *di;
 
-               di = work->data;
+               di = static_cast<DupeItem *>(work->data);
                work = work->next;
                dupe_item_remove(dw, di);
                }
@@ -3366,9 +3366,9 @@ static void dupe_menu_select_dupes_set2_cb(GtkWidget *UNUSED(widget), gpointer d
 static void dupe_menu_edit_cb(GtkWidget *widget, gpointer data)
 {
        DupeWindow *dw;
-       const gchar *key = data;
+       const gchar *key = static_cast<const gchar *>(data);
 
-       dw = submenu_item_get_data(widget);
+       dw = static_cast<DupeWindow *>(submenu_item_get_data(widget));
        if (!dw) return;
 
        dupe_window_edit_selected(dw, key);
@@ -3493,7 +3493,7 @@ static void dupe_pop_menu_collections_cb(GtkWidget *widget, gpointer data)
        DupeWindow *dw;
        GList *selection_list;
 
-       dw = submenu_item_get_data(widget);
+       dw = static_cast<DupeWindow *>(submenu_item_get_data(widget));
        selection_list = dupe_listview_get_selection(dw, dw->listview);
        pop_menu_collections(selection_list, data);
 
@@ -4101,7 +4101,7 @@ static void dupe_listview_set_height(GtkWidget *listview, gboolean thumb)
 
        list = gtk_cell_layout_get_cells(GTK_CELL_LAYOUT(column));
        if (!list) return;
-       cell = list->data;
+       cell = static_cast<GtkCellRenderer *>(list->data);
        g_list_free(list);
 
        g_object_set(G_OBJECT(cell), "height", (thumb) ? options->thumbnails.max_height : -1, NULL);
@@ -4224,7 +4224,7 @@ static gboolean dupe_window_keypress_cb(GtkWidget *widget, GdkEventKey *event, g
                GList *last;
 
                last = g_list_last(slist);
-               tpath = last->data;
+               tpath = static_cast<GtkTreePath *>(last->data);
 
                /* last is newest selected file */
                gtk_tree_model_get_iter(store, &iter, tpath);
@@ -4609,7 +4609,7 @@ DupeWindow *dupe_window_new()
        geometry.base_width = DUPE_DEF_WIDTH;
        geometry.base_height = DUPE_DEF_HEIGHT;
        gtk_window_set_geometry_hints(GTK_WINDOW(dw->window), NULL, &geometry,
-                                     GDK_HINT_MIN_SIZE | GDK_HINT_BASE_SIZE);
+                                     static_cast<GdkWindowHints>(GDK_HINT_MIN_SIZE | GDK_HINT_BASE_SIZE));
 
        if (lw && options->save_window_positions)
                {
@@ -4946,14 +4946,14 @@ static GtkWidget *dupe_confirm_dir_list(DupeWindow *dw, GList *list)
  */
 
 static GtkTargetEntry dupe_drag_types[] = {
-       { "text/uri-list", 0, TARGET_URI_LIST },
-       { "text/plain", 0, TARGET_TEXT_PLAIN }
+       { const_cast<gchar *>("text/uri-list"), 0, TARGET_URI_LIST },
+       { const_cast<gchar *>("text/plain"), 0, TARGET_TEXT_PLAIN }
 };
 static gint n_dupe_drag_types = 2;
 
 static GtkTargetEntry dupe_drop_types[] = {
-       { TARGET_APP_COLLECTION_MEMBER_STRING, 0, TARGET_APP_COLLECTION_MEMBER },
-       { "text/uri-list", 0, TARGET_URI_LIST }
+       { const_cast<gchar *>(TARGET_APP_COLLECTION_MEMBER_STRING), 0, TARGET_APP_COLLECTION_MEMBER },
+       { const_cast<gchar *>("text/uri-list"), 0, TARGET_URI_LIST }
 };
 static gint n_dupe_drop_types = 2;
 
@@ -5038,9 +5038,9 @@ static void dupe_dest_set(GtkWidget *widget, gboolean enable)
        if (enable)
                {
                gtk_drag_dest_set(widget,
-                       GTK_DEST_DEFAULT_MOTION | GTK_DEST_DEFAULT_HIGHLIGHT | GTK_DEST_DEFAULT_DROP,
+                       static_cast<GtkDestDefaults>(GTK_DEST_DEFAULT_MOTION | GTK_DEST_DEFAULT_HIGHLIGHT | GTK_DEST_DEFAULT_DROP),
                        dupe_drop_types, n_dupe_drop_types,
-                       GDK_ACTION_COPY | GDK_ACTION_MOVE | GDK_ACTION_ASK);
+                       static_cast<GdkDragAction>(GDK_ACTION_COPY | GDK_ACTION_MOVE | GDK_ACTION_ASK));
 
                }
        else
@@ -5098,9 +5098,9 @@ static void dupe_dnd_end(GtkWidget *UNUSED(widget), GdkDragContext *UNUSED(conte
 
 static void dupe_dnd_init(DupeWindow *dw)
 {
-       gtk_drag_source_set(dw->listview, GDK_BUTTON1_MASK | GDK_BUTTON2_MASK,
+       gtk_drag_source_set(dw->listview, static_cast<GdkModifierType>(GDK_BUTTON1_MASK | GDK_BUTTON2_MASK),
                            dupe_drag_types, n_dupe_drag_types,
-                           GDK_ACTION_COPY | GDK_ACTION_MOVE | GDK_ACTION_LINK);
+                           static_cast<GdkDragAction>(GDK_ACTION_COPY | GDK_ACTION_MOVE | GDK_ACTION_LINK));
        g_signal_connect(G_OBJECT(dw->listview), "drag_data_get",
                         G_CALLBACK(dupe_dnd_data_set), dw);
        g_signal_connect(G_OBJECT(dw->listview), "drag_begin",
@@ -5112,9 +5112,9 @@ static void dupe_dnd_init(DupeWindow *dw)
        g_signal_connect(G_OBJECT(dw->listview), "drag_data_received",
                         G_CALLBACK(dupe_dnd_data_get), dw);
 
-       gtk_drag_source_set(dw->second_listview, GDK_BUTTON1_MASK | GDK_BUTTON2_MASK,
+       gtk_drag_source_set(dw->second_listview, static_cast<GdkModifierType>(GDK_BUTTON1_MASK | GDK_BUTTON2_MASK),
                            dupe_drag_types, n_dupe_drag_types,
-                           GDK_ACTION_COPY | GDK_ACTION_MOVE | GDK_ACTION_LINK);
+                           static_cast<GdkDragAction>(GDK_ACTION_COPY | GDK_ACTION_MOVE | GDK_ACTION_LINK));
        g_signal_connect(G_OBJECT(dw->second_listview), "drag_data_get",
                         G_CALLBACK(dupe_dnd_data_set), dw);
        g_signal_connect(G_OBJECT(dw->second_listview), "drag_begin",
@@ -5255,7 +5255,7 @@ static void export_duplicates_data_save_cb(FileDialog *fdlg, gpointer data)
        slist = gtk_tree_selection_get_selected_rows(selection, &store);
        work = slist;
 
-       tpath = work->data;
+       tpath = static_cast<GtkTreePath *>(work->data);
        gtk_tree_model_get_iter(store, &iter, tpath);
        gtk_tree_model_get(GTK_TREE_MODEL(store), &iter, DUPE_COLUMN_COLOR, &color_new, -1);
        color_old = !color_new;
@@ -5263,7 +5263,7 @@ static void export_duplicates_data_save_cb(FileDialog *fdlg, gpointer data)
 
        while (work)
                {
-               tpath = work->data;
+               tpath = static_cast<GtkTreePath *>(work->data);
                gtk_tree_model_get_iter(store, &iter, tpath);
 
                gtk_tree_model_get(GTK_TREE_MODEL(store), &iter, DUPE_COLUMN_POINTER, &di, -1);
@@ -5321,7 +5321,7 @@ static void export_duplicates_data_save_cb(FileDialog *fdlg, gpointer data)
                output_string = g_string_append(output_string, sep);
                g_free(name);
 
-               output_string = g_string_append(output_string, g_strdup_printf("%"PRIu64, di->fd->size));
+               output_string = g_string_append(output_string, g_strdup_printf("%" PRIu64, di->fd->size));
                output_string = g_string_append(output_string, sep);
                output_string = g_string_append(output_string, text_from_time(di->fd->date));
                output_string = g_string_append(output_string, sep);
@@ -5348,9 +5348,9 @@ static void export_duplicates_data_save_cb(FileDialog *fdlg, gpointer data)
 static void pop_menu_export(GList *UNUSED(selection_list), gpointer dupe_window, gpointer data)
 {
        const gint index = GPOINTER_TO_INT(data);
-       DupeWindow *dw = dupe_window;
-       gchar *title = "Export duplicates data";
-       gchar *default_path = "/tmp/";
+       DupeWindow *dw = static_cast<DupeWindow *>(dupe_window);
+       const gchar *title = "Export duplicates data";
+       const gchar *default_path = "/tmp/";
        gchar *file_extension;
        const gchar *stock_id;
        ExportDupesData *edd;
@@ -5394,7 +5394,7 @@ static void dupe_pop_menu_export_cb(GtkWidget *widget, gpointer data)
        DupeWindow *dw;
        GList *selection_list;
 
-       dw = submenu_item_get_data(widget);
+       dw = static_cast<DupeWindow *>(submenu_item_get_data(widget));
        selection_list = dupe_listview_get_selection(dw, dw->listview);
        pop_menu_export(selection_list, dw, data);