Documentation: Use G_SOURCE_CONTINUE and G_SOURCE_REMOVE
[geeqie.git] / src / search.cc
index 0d8e3b2..a42a0f8 100644 (file)
@@ -58,7 +58,7 @@
 #define SEARCH_BUFFER_MATCH_MISS 1
 #define SEARCH_BUFFER_FLUSH_SIZE 99
 
-#define FORMAT_CLASS_BROKEN FILE_FORMAT_CLASSES + 1
+#define FORMAT_CLASS_BROKEN static_cast<FileFormatClass>(FILE_FORMAT_CLASSES + 1)
 
 typedef enum {
        SEARCH_MATCH_NONE,
@@ -351,18 +351,18 @@ hard_coded_window_keys search_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, '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, GDK_KEY_Delete, N_("Clear")},
        {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, GDK_KEY_Return, N_("Start/stop search")},
-       {0, GDK_KEY_F3, N_("Find duplicates")},
-       {0, 0, NULL}
+       {static_cast<GdkModifierType>(0), GDK_KEY_F3, N_("Find duplicates")},
+       {static_cast<GdkModifierType>(0), 0, NULL}
 };
 /*
  *-------------------------------------------------------------------
@@ -485,7 +485,7 @@ static gboolean search_result_row_selected(SearchData *sd, FileData *fd)
        work = slist;
        while (!found && work)
                {
-               GtkTreePath *tpath = work->data;
+               GtkTreePath *tpath = static_cast<GtkTreePath *>(work->data);
                MatchFileData *mfd_n;
                GtkTreeIter iter;
 
@@ -520,7 +520,7 @@ static gint search_result_selection_util(SearchData *sd, gint64 *bytes, GList **
 
                if (bytes || list)
                        {
-                       GtkTreePath *tpath = work->data;
+                       GtkTreePath *tpath = static_cast<GtkTreePath *>(work->data);
                        MatchFileData *mfd;
                        GtkTreeIter iter;
 
@@ -742,7 +742,7 @@ static void search_result_remove_selection(SearchData *sd)
        work = slist;
        while (work)
                {
-               GtkTreePath *tpath = work->data;
+               GtkTreePath *tpath = static_cast<GtkTreePath *>(work->data);
                GtkTreeIter iter;
                MatchFileData *mfd;
 
@@ -757,7 +757,7 @@ static void search_result_remove_selection(SearchData *sd)
        work = flist;
        while (work)
                {
-               FileData *fd = work->data;
+               FileData *fd = static_cast<FileData *>(work->data);
                work = work->next;
 
                search_result_remove(sd, fd);
@@ -785,12 +785,12 @@ static void search_result_collection_from_selection(SearchData *sd)
 
 static gboolean search_result_update_idle_cb(gpointer data)
 {
-       SearchData *sd = data;
+       SearchData *sd = static_cast<SearchData *>(data);
 
        search_status_update(sd);
 
        sd->update_idle_id = 0;
-       return FALSE;
+       return G_SOURCE_REMOVE;
 }
 
 static void search_result_update_idle_cancel(SearchData *sd)
@@ -805,7 +805,7 @@ static void search_result_update_idle_cancel(SearchData *sd)
 static gboolean search_result_select_cb(GtkTreeSelection *UNUSED(selection), GtkTreeModel *UNUSED(store),
                                        GtkTreePath *UNUSED(tpath), gboolean UNUSED(selected), gpointer data)
 {
-       SearchData *sd = data;
+       SearchData *sd = static_cast<SearchData *>(data);
 
        if (!sd->update_idle_id)
                {
@@ -850,7 +850,7 @@ static void search_result_thumb_do(SearchData *sd)
 
 static void search_result_thumb_done_cb(ThumbLoader *UNUSED(tl), gpointer data)
 {
-       SearchData *sd = data;
+       SearchData *sd = static_cast<SearchData *>(data);
 
        search_result_thumb_do(sd);
        search_result_thumb_step(sd);
@@ -937,7 +937,7 @@ static void search_result_thumb_height(SearchData *sd)
 
        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", (sd->thumb_enable) ? options->thumbnails.max_height : -1, NULL);
@@ -989,14 +989,14 @@ static void search_result_thumb_enable(SearchData *sd, gboolean enable)
 
 static void sr_menu_view_cb(GtkWidget *UNUSED(widget), gpointer data)
 {
-       SearchData *sd = data;
+       SearchData *sd = static_cast<SearchData *>(data);
 
        if (sd->click_fd) layout_set_fd(NULL, sd->click_fd);
 }
 
 static void sr_menu_viewnew_cb(GtkWidget *UNUSED(widget), gpointer data)
 {
-       SearchData *sd = data;
+       SearchData *sd = static_cast<SearchData *>(data);
        GList *list;
 
        list = search_result_selection_list(sd);
@@ -1006,7 +1006,7 @@ static void sr_menu_viewnew_cb(GtkWidget *UNUSED(widget), gpointer data)
 
 static void sr_menu_select_all_cb(GtkWidget *UNUSED(widget), gpointer data)
 {
-       SearchData *sd = data;
+       SearchData *sd = static_cast<SearchData *>(data);
        GtkTreeSelection *selection;
 
        selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(sd->result_view));
@@ -1015,7 +1015,7 @@ static void sr_menu_select_all_cb(GtkWidget *UNUSED(widget), gpointer data)
 
 static void sr_menu_select_none_cb(GtkWidget *UNUSED(widget), gpointer data)
 {
-       SearchData *sd = data;
+       SearchData *sd = static_cast<SearchData *>(data);
        GtkTreeSelection *selection;
 
        selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(sd->result_view));
@@ -1025,9 +1025,9 @@ static void sr_menu_select_none_cb(GtkWidget *UNUSED(widget), gpointer data)
 static void sr_menu_edit_cb(GtkWidget *widget, gpointer data)
 {
        SearchData *sd;
-       const gchar *key = data;
+       const gchar *key = static_cast<const gchar *>(data);
 
-       sd = submenu_item_get_data(widget);
+       sd = static_cast<SearchData *>(submenu_item_get_data(widget));
        if (!sd) return;
 
        search_result_edit_selected(sd, key);
@@ -1035,7 +1035,7 @@ static void sr_menu_edit_cb(GtkWidget *widget, gpointer data)
 
 static void sr_menu_print_cb(GtkWidget *UNUSED(widget), gpointer data)
 {
-       SearchData *sd = data;
+       SearchData *sd = static_cast<SearchData *>(data);
 
        print_window_new(sd->click_fd, search_result_selection_list(sd),
                         search_result_get_filelist(sd), sd->window);
@@ -1043,28 +1043,28 @@ static void sr_menu_print_cb(GtkWidget *UNUSED(widget), gpointer data)
 
 static void sr_menu_copy_cb(GtkWidget *UNUSED(widget), gpointer data)
 {
-       SearchData *sd = data;
+       SearchData *sd = static_cast<SearchData *>(data);
 
        file_util_copy(NULL, search_result_selection_list(sd), NULL, sd->window);
 }
 
 static void sr_menu_move_cb(GtkWidget *UNUSED(widget), gpointer data)
 {
-       SearchData *sd = data;
+       SearchData *sd = static_cast<SearchData *>(data);
 
        file_util_move(NULL, search_result_selection_list(sd), NULL, sd->window);
 }
 
 static void sr_menu_rename_cb(GtkWidget *UNUSED(widget), gpointer data)
 {
-       SearchData *sd = data;
+       SearchData *sd = static_cast<SearchData *>(data);
 
        file_util_rename(NULL, search_result_selection_list(sd), sd->window);
 }
 
 static void sr_menu_delete_cb(GtkWidget *UNUSED(widget), gpointer data)
 {
-       SearchData *sd = data;
+       SearchData *sd = static_cast<SearchData *>(data);
 
        options->file_ops.safe_delete_enable = FALSE;
        file_util_delete(NULL, search_result_selection_list(sd), sd->window);
@@ -1072,7 +1072,7 @@ static void sr_menu_delete_cb(GtkWidget *UNUSED(widget), gpointer data)
 
 static void sr_menu_move_to_trash_cb(GtkWidget *UNUSED(widget), gpointer data)
 {
-       SearchData *sd = data;
+       SearchData *sd = static_cast<SearchData *>(data);
 
        options->file_ops.safe_delete_enable = TRUE;
        file_util_delete(NULL, search_result_selection_list(sd), sd->window);
@@ -1080,28 +1080,28 @@ static void sr_menu_move_to_trash_cb(GtkWidget *UNUSED(widget), gpointer data)
 
 static void sr_menu_copy_path_cb(GtkWidget *UNUSED(widget), gpointer data)
 {
-       SearchData *sd = data;
+       SearchData *sd = static_cast<SearchData *>(data);
 
        file_util_copy_path_list_to_clipboard(search_result_selection_list(sd), TRUE);
 }
 
 static void sr_menu_copy_path_unquoted_cb(GtkWidget *UNUSED(widget), gpointer data)
 {
-       SearchData *sd = data;
+       SearchData *sd = static_cast<SearchData *>(data);
 
        file_util_copy_path_list_to_clipboard(search_result_selection_list(sd), FALSE);
 }
 
 static void sr_menu_play_cb(GtkWidget *UNUSED(widget), gpointer data)
 {
-       SearchData *sd = data;
+       SearchData *sd = static_cast<SearchData *>(data);
 
        start_editor_from_file(options->image_l_click_video_editor, sd->click_fd);
 }
 
 static void search_result_menu_destroy_cb(GtkWidget *UNUSED(widget), gpointer data)
 {
-       GList *editmenu_fd_list = data;
+       GList *editmenu_fd_list = static_cast<GList *>(data);
 
        filelist_free(editmenu_fd_list);
 }
@@ -1118,7 +1118,7 @@ static void search_pop_menu_collections_cb(GtkWidget *widget, gpointer data)
        SearchData *sd;
        GList *selection_list;
 
-       sd = submenu_item_get_data(widget);
+       sd = static_cast<SearchData *>(submenu_item_get_data(widget));
        selection_list = search_result_selection_list(sd);
        pop_menu_collections(selection_list, data);
 
@@ -1201,7 +1201,7 @@ static GtkWidget *search_result_menu(SearchData *sd, gboolean on_row, gboolean e
 
 static gboolean search_result_press_cb(GtkWidget *widget, GdkEventButton *bevent, gpointer data)
 {
-       SearchData *sd = data;
+       SearchData *sd = static_cast<SearchData *>(data);
        GtkTreeModel *store;
        GtkTreePath *tpath;
        GtkTreeIter iter;
@@ -1268,7 +1268,7 @@ static gboolean search_result_press_cb(GtkWidget *widget, GdkEventButton *bevent
 
 static gboolean search_result_release_cb(GtkWidget *widget, GdkEventButton *bevent, gpointer data)
 {
-       SearchData *sd = data;
+       SearchData *sd = static_cast<SearchData *>(data);
        GtkTreeModel *store;
        GtkTreePath *tpath;
        GtkTreeIter iter;
@@ -1331,7 +1331,7 @@ static gboolean search_result_release_cb(GtkWidget *widget, GdkEventButton *beve
 
 static gboolean search_result_keypress_cb(GtkWidget *widget, GdkEventKey *event, gpointer data)
 {
-       SearchData *sd = data;
+       SearchData *sd = static_cast<SearchData *>(data);
        gboolean stop_signal = FALSE;
        GtkTreeModel *store;
        GtkTreeSelection *selection;
@@ -1347,7 +1347,7 @@ static gboolean search_result_keypress_cb(GtkWidget *widget, GdkEventKey *event,
                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);
@@ -1452,7 +1452,7 @@ static gboolean search_result_keypress_cb(GtkWidget *widget, GdkEventKey *event,
 
 static gboolean search_window_keypress_cb(GtkWidget *UNUSED(widget), GdkEventKey *event, gpointer data)
 {
-       SearchData *sd = data;
+       SearchData *sd = static_cast<SearchData *>(data);
        gboolean stop_signal = FALSE;
 
        if (event->state & GDK_CONTROL_MASK)
@@ -1491,14 +1491,14 @@ static gboolean search_window_keypress_cb(GtkWidget *UNUSED(widget), GdkEventKey
  */
 
 static GtkTargetEntry result_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_result_drag_types = 2;
 
 static GtkTargetEntry result_drop_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_result_drop_types = 2;
 
@@ -1506,7 +1506,7 @@ static void search_dnd_data_set(GtkWidget *UNUSED(widget), GdkDragContext *UNUSE
                                GtkSelectionData *selection_data, guint UNUSED(info),
                                guint UNUSED(time), gpointer data)
 {
-       SearchData *sd = data;
+       SearchData *sd = static_cast<SearchData *>(data);
        GList *list;
 
        list = search_result_selection_list(sd);
@@ -1518,7 +1518,7 @@ static void search_dnd_data_set(GtkWidget *UNUSED(widget), GdkDragContext *UNUSE
 
 static void search_dnd_begin(GtkWidget *widget, GdkDragContext *context, gpointer data)
 {
-       SearchData *sd = data;
+       SearchData *sd = static_cast<SearchData *>(data);
 
        if (sd->click_fd && !search_result_row_selected(sd, sd->click_fd))
                {
@@ -1553,7 +1553,7 @@ static void search_gps_dnd_received_cb(GtkWidget *UNUSED(pane), GdkDragContext *
                                                                                GtkSelectionData *selection_data, guint info,
                                                                                guint UNUSED(time), gpointer data)
 {
-       SearchData *sd = data;
+       SearchData *sd = static_cast<SearchData *>(data);
        GList *list;
        gdouble latitude, longitude;
        FileData *fd;
@@ -1566,7 +1566,7 @@ static void search_gps_dnd_received_cb(GtkWidget *UNUSED(pane), GdkDragContext *
                */
                if (list != NULL)
                        {
-                       fd = list->data;
+                       fd = static_cast<FileData *>(list->data);
                        latitude = metadata_read_GPS_coord(fd, "Xmp.exif.GPSLatitude", 1000);
                        longitude = metadata_read_GPS_coord(fd, "Xmp.exif.GPSLongitude", 1000);
                        if (latitude != 1000 && longitude != 1000)
@@ -1592,7 +1592,7 @@ static void search_path_entry_dnd_received_cb(GtkWidget *UNUSED(pane), GdkDragCo
                                                                                GtkSelectionData *selection_data, guint info,
                                                                                guint UNUSED(time), gpointer data)
 {
-       SearchData *sd = data;
+       SearchData *sd = static_cast<SearchData *>(data);
        GList *list;
        FileData *fd;
 
@@ -1603,7 +1603,7 @@ static void search_path_entry_dnd_received_cb(GtkWidget *UNUSED(pane), GdkDragCo
                */
                if (list != NULL)
                        {
-                       fd = list->data;
+                       fd = static_cast<FileData *>(list->data);
                        gtk_entry_set_text(GTK_ENTRY(sd->path_entry),
                                                g_strdup_printf("%s", fd->path));
                        gtk_widget_set_tooltip_text(GTK_WIDGET(sd->path_entry),g_strdup_printf("%s", fd->path));
@@ -1621,7 +1621,7 @@ static void search_image_content_dnd_received_cb(GtkWidget *UNUSED(pane), GdkDra
                                                                                GtkSelectionData *selection_data, guint info,
                                                                                guint UNUSED(time), gpointer data)
 {
-       SearchData *sd = data;
+       SearchData *sd = static_cast<SearchData *>(data);
        GList *list;
        FileData *fd;
 
@@ -1632,7 +1632,7 @@ static void search_image_content_dnd_received_cb(GtkWidget *UNUSED(pane), GdkDra
                */
                if (list != NULL)
                        {
-                       fd = list->data;
+                       fd = static_cast<FileData *>(list->data);
                        gtk_entry_set_text(GTK_ENTRY(sd->entry_similarity),
                                                g_strdup_printf("%s", fd->path));
                        gtk_widget_set_tooltip_text(GTK_WIDGET(sd->entry_similarity),g_strdup_printf("%s", fd->path));
@@ -1647,9 +1647,9 @@ static void search_image_content_dnd_received_cb(GtkWidget *UNUSED(pane), GdkDra
 
 static void search_dnd_init(SearchData *sd)
 {
-       gtk_drag_source_set(sd->result_view, GDK_BUTTON1_MASK | GDK_BUTTON2_MASK,
+       gtk_drag_source_set(sd->result_view, static_cast<GdkModifierType>(GDK_BUTTON1_MASK | GDK_BUTTON2_MASK),
                            result_drag_types, n_result_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(sd->result_view), "drag_data_get",
                         G_CALLBACK(search_dnd_data_set), sd);
        g_signal_connect(G_OBJECT(sd->result_view), "drag_begin",
@@ -1698,7 +1698,7 @@ static void search_buffer_flush(SearchData *sd)
        work = g_list_last(sd->search_buffer_list);
        while (work)
                {
-               MatchFileData *mfd = work->data;
+               MatchFileData *mfd = static_cast<MatchFileData *>(work->data);
                work = work->prev;
 
                search_result_append(sd, mfd);
@@ -1808,7 +1808,7 @@ static void search_file_load_process(SearchData *sd, CacheData *cd)
 
 static void search_file_load_done_cb(ImageLoader *UNUSED(il), gpointer data)
 {
-       SearchData *sd = data;
+       SearchData *sd = static_cast<SearchData *>(data);
        search_file_load_process(sd, sd->img_cd);
 }
 
@@ -1960,7 +1960,7 @@ static gboolean search_file_next(SearchData *sd)
                sd->search_total++;
                }
 
-       fd = sd->search_file_list->data;
+       fd = static_cast<FileData *>(sd->search_file_list->data);
 
        if (match && sd->match_name_enable && sd->search_name)
                {
@@ -1991,13 +1991,13 @@ static gboolean search_file_next(SearchData *sd)
                                }
                        if (sd->search_name_match_case)
                                {
-                               match = g_regex_match(sd->search_name_regex, fd_name_or_path, 0, NULL);
+                               match = g_regex_match(sd->search_name_regex, fd_name_or_path, GRegexMatchFlags(0), NULL);
                                }
                        else
                                {
                                /* sd->search_name is converted in search_start() */
                                gchar *haystack = g_utf8_strdown(fd_name_or_path, -1);
-                               match = g_regex_match(sd->search_name_regex, haystack, 0, NULL);
+                               match = g_regex_match(sd->search_name_regex, haystack, GRegexMatchFlags(0), NULL);
                                g_free(haystack);
                                }
                        }
@@ -2188,11 +2188,11 @@ static gboolean search_file_next(SearchData *sd)
 
                        if (sd->match_comment == SEARCH_MATCH_CONTAINS)
                                {
-                               match = g_regex_match(sd->search_comment_regex, comment, 0, NULL);
+                               match = g_regex_match(sd->search_comment_regex, comment, GRegexMatchFlags(0), NULL);
                                }
                        else if (sd->match_comment == SEARCH_MATCH_NONE)
                                {
-                               match = !g_regex_match(sd->search_comment_regex, comment, 0, NULL);
+                               match = !g_regex_match(sd->search_comment_regex, comment, GRegexMatchFlags(0), NULL);
                                }
                        g_free(comment);
                        }
@@ -2443,7 +2443,7 @@ static gboolean search_file_next(SearchData *sd)
 
 static gboolean search_step_cb(gpointer data)
 {
-       SearchData *sd = data;
+       SearchData *sd = static_cast<SearchData *>(data);
        FileData *fd;
 
        if (sd->search_buffer_count > SEARCH_BUFFER_FLUSH_SIZE)
@@ -2457,9 +2457,9 @@ static gboolean search_step_cb(gpointer data)
                if (search_file_next(sd))
                        {
                        sd->search_idle_id = 0;
-                       return FALSE;
+                       return G_SOURCE_REMOVE;
                        }
-               return TRUE;
+               return G_SOURCE_CONTINUE;
                }
 
        if (!sd->search_file_list && !sd->search_folder_list)
@@ -2469,10 +2469,10 @@ static gboolean search_step_cb(gpointer data)
                search_stop(sd);
                search_result_thumb_step(sd);
 
-               return FALSE;
+               return G_SOURCE_REMOVE;
                }
 
-       fd = sd->search_folder_list->data;
+       fd = static_cast<FileData *>(sd->search_folder_list->data);
 
        if (g_list_find(sd->search_done_list, fd) == NULL)
                {
@@ -2511,7 +2511,7 @@ static gboolean search_step_cb(gpointer data)
                                        GList *link;
                                        gchar *meta_path;
 
-                                       fdp = work->data;
+                                       fdp = static_cast<FileData *>(work->data);
                                        link = work;
                                        work = work->next;
 
@@ -2549,12 +2549,12 @@ static gboolean search_step_cb(gpointer data)
                file_data_unref(fd);
                }
 
-       return TRUE;
+       return G_SOURCE_CONTINUE;
 }
 
 static void search_similarity_load_done_cb(ImageLoader *UNUSED(il), gpointer data)
 {
-       SearchData *sd = data;
+       SearchData *sd = static_cast<SearchData *>(data);
        search_file_load_process(sd, sd->search_similarity_cd);
 }
 
@@ -2583,13 +2583,13 @@ static void search_start(SearchData *sd)
                g_regex_unref(sd->search_name_regex);
                }
 
-       sd->search_name_regex = g_regex_new(sd->search_name, 0, 0, &error);
+       sd->search_name_regex = g_regex_new(sd->search_name, GRegexCompileFlags(0), GRegexMatchFlags(0), &error);
        if (error)
                {
                log_printf("Error: could not compile regular expression %s\n%s\n", sd->search_name, error->message);
                g_error_free(error);
                error = NULL;
-               sd->search_name_regex = g_regex_new("", 0, 0, NULL);
+               sd->search_name_regex = g_regex_new("", GRegexCompileFlags(0), GRegexMatchFlags(0), NULL);
                }
 
        if (!sd->search_comment_match_case)
@@ -2605,13 +2605,13 @@ static void search_start(SearchData *sd)
                g_regex_unref(sd->search_comment_regex);
                }
 
-       sd->search_comment_regex = g_regex_new(sd->search_comment, 0, 0, &error);
+       sd->search_comment_regex = g_regex_new(sd->search_comment, GRegexCompileFlags(0), GRegexMatchFlags(0), &error);
        if (error)
                {
                log_printf("Error: could not compile regular expression %s\n%s\n", sd->search_comment, error->message);
                g_error_free(error);
                error = NULL;
-               sd->search_comment_regex = g_regex_new("", 0, 0, NULL);
+               sd->search_comment_regex = g_regex_new("", GRegexCompileFlags(0), GRegexMatchFlags(0), NULL);
                }
 
        sd->search_count = 0;
@@ -2661,7 +2661,7 @@ static void search_start(SearchData *sd)
 
 static void search_start_cb(GtkWidget *UNUSED(widget), gpointer data)
 {
-       SearchData *sd = data;
+       SearchData *sd = static_cast<SearchData *>(data);
        GtkTreeViewColumn *column;
        gchar *path;
        gchar *entry_text;
@@ -2829,7 +2829,7 @@ enum {
 
 static void search_thumb_toggle_cb(GtkWidget *button, gpointer data)
 {
-       SearchData *sd = data;
+       SearchData *sd = static_cast<SearchData *>(data);
 
        search_result_thumb_enable(sd, gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(button)));
 }
@@ -2952,7 +2952,7 @@ static gboolean menu_choice_get_match_type(GtkWidget *combo, MatchType *type)
 
 static void menu_choice_path_cb(GtkWidget *combo, gpointer data)
 {
-       SearchData *sd = data;
+       SearchData *sd = static_cast<SearchData *>(data);
 
        if (!menu_choice_get_match_type(combo, &sd->search_type)) return;
 
@@ -2963,14 +2963,14 @@ static void menu_choice_path_cb(GtkWidget *combo, gpointer data)
 
 static void menu_choice_name_cb(GtkWidget *combo, gpointer data)
 {
-       SearchData *sd = data;
+       SearchData *sd = static_cast<SearchData *>(data);
 
        if (!menu_choice_get_match_type(combo, &sd->match_name)) return;
 }
 
 static void menu_choice_size_cb(GtkWidget *combo, gpointer data)
 {
-       SearchData *sd = data;
+       SearchData *sd = static_cast<SearchData *>(data);
 
        if (!menu_choice_get_match_type(combo, &sd->match_size)) return;
 
@@ -2980,7 +2980,7 @@ static void menu_choice_size_cb(GtkWidget *combo, gpointer data)
 
 static void menu_choice_rating_cb(GtkWidget *combo, gpointer data)
 {
-       SearchData *sd = data;
+       SearchData *sd = static_cast<SearchData *>(data);
 
        if (!menu_choice_get_match_type(combo, &sd->match_rating)) return;
 
@@ -2990,21 +2990,21 @@ static void menu_choice_rating_cb(GtkWidget *combo, gpointer data)
 
 static void menu_choice_class_cb(GtkWidget *combo, gpointer data)
 {
-       SearchData *sd = data;
+       SearchData *sd = static_cast<SearchData *>(data);
 
        if (!menu_choice_get_match_type(combo, &sd->match_class)) return;
 }
 
 static void menu_choice_marks_cb(GtkWidget *combo, gpointer data)
 {
-       SearchData *sd = data;
+       SearchData *sd = static_cast<SearchData *>(data);
 
        if (!menu_choice_get_match_type(combo, &sd->match_marks)) return;
 }
 
 static void menu_choice_date_cb(GtkWidget *combo, gpointer data)
 {
-       SearchData *sd = data;
+       SearchData *sd = static_cast<SearchData *>(data);
 
        if (!menu_choice_get_match_type(combo, &sd->match_date)) return;
 
@@ -3014,7 +3014,7 @@ static void menu_choice_date_cb(GtkWidget *combo, gpointer data)
 
 static void menu_choice_dimensions_cb(GtkWidget *combo, gpointer data)
 {
-       SearchData *sd = data;
+       SearchData *sd = static_cast<SearchData *>(data);
 
        if (!menu_choice_get_match_type(combo, &sd->match_dimensions)) return;
 
@@ -3024,28 +3024,28 @@ static void menu_choice_dimensions_cb(GtkWidget *combo, gpointer data)
 
 static void menu_choice_keyword_cb(GtkWidget *combo, gpointer data)
 {
-       SearchData *sd = data;
+       SearchData *sd = static_cast<SearchData *>(data);
 
        if (!menu_choice_get_match_type(combo, &sd->match_keywords)) return;
 }
 
 static void menu_choice_comment_cb(GtkWidget *combo, gpointer data)
 {
-       SearchData *sd = data;
+       SearchData *sd = static_cast<SearchData *>(data);
 
        if (!menu_choice_get_match_type(combo, &sd->match_comment)) return;
 }
 
 static void menu_choice_spin_cb(GtkAdjustment *adjustment, gpointer data)
 {
-       gint *value = data;
+       gint *value = static_cast<gint *>(data);
 
        *value = (gint)gtk_adjustment_get_value(adjustment);
 }
 
 static void menu_choice_gps_cb(GtkWidget *combo, gpointer data)
 {
-       SearchData *sd = data;
+       SearchData *sd = static_cast<SearchData *>(data);
 
        if (!menu_choice_get_match_type(combo, &sd->match_gps)) return;
 
@@ -3072,14 +3072,14 @@ static GtkWidget *menu_spin(GtkWidget *box, gdouble min, gdouble max, gint value
 
 static void menu_choice_check_cb(GtkWidget *button, gpointer data)
 {
-       GtkWidget *widget = data;
+       GtkWidget *widget = static_cast<GtkWidget *>(data);
        gboolean active;
        gboolean *value;
 
        active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(button));
        gtk_widget_set_sensitive(widget, active);
 
-       value = g_object_get_data(G_OBJECT(button), "check_var");
+       value = static_cast<gboolean *>(g_object_get_data(G_OBJECT(button), "check_var"));
        if (value) *value = active;
 }
 
@@ -3183,7 +3183,7 @@ static void search_window_close(SearchData *sd)
 
 static void search_window_close_cb(GtkWidget *UNUSED(widget), gpointer data)
 {
-       SearchData *sd = data;
+       SearchData *sd = static_cast<SearchData *>(data);
 
        search_window_close(sd);
 }
@@ -3195,7 +3195,7 @@ static void search_window_help_cb(GtkWidget *UNUSED(widget), gpointer UNUSED(dat
 
 static gboolean search_window_delete_cb(GtkWidget *UNUSED(widget), GdkEventAny *UNUSED(event), gpointer data)
 {
-       SearchData *sd = data;
+       SearchData *sd = static_cast<SearchData *>(data);
 
        search_window_close(sd);
        return TRUE;
@@ -3203,7 +3203,7 @@ static gboolean search_window_delete_cb(GtkWidget *UNUSED(widget), GdkEventAny *
 
 static void search_window_destroy_cb(GtkWidget *UNUSED(widget), gpointer data)
 {
-       SearchData *sd = data;
+       SearchData *sd = static_cast<SearchData *>(data);
 
        search_window_list = g_list_remove(search_window_list, sd);
 
@@ -3242,7 +3242,7 @@ static void select_collection_dialog_close_cb(FileDialog *fdlg, gpointer UNUSED(
 
 static void select_collection_dialog_ok_cb(FileDialog *fdlg, gpointer data)
 {
-       SearchData *sd = data;
+       SearchData *sd = static_cast<SearchData *>(data);
        gchar *path;
        gchar *path_noext;
        gchar *collection;
@@ -3261,7 +3261,7 @@ static void select_collection_dialog_ok_cb(FileDialog *fdlg, gpointer data)
 
 static void select_collection_clicked_cb(GtkWidget *UNUSED(widget), gpointer data)
 {
-       SearchData *sd = data;
+       SearchData *sd = static_cast<SearchData *>(data);
        FileDialog *fdlg;
        const gchar *title;
        const gchar *btntext;
@@ -3348,7 +3348,7 @@ void search_new(FileData *dir_fd, FileData *example_file)
        geometry.base_width = DEF_SEARCH_WIDTH;
        geometry.base_height = DEF_SEARCH_HEIGHT;
        gtk_window_set_geometry_hints(GTK_WINDOW(sd->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)
                {
@@ -3786,7 +3786,7 @@ static void search_result_change_path(SearchData *sd, FileData *fd)
 
 static void search_notify_cb(FileData *fd, NotifyType type, gpointer data)
 {
-       SearchData *sd = data;
+       SearchData *sd = static_cast<SearchData *>(data);
 
        if (!(type & NOTIFY_CHANGE) || !fd->change) return;
 
@@ -3813,7 +3813,7 @@ void mfd_list_free(GList *list)
        work = list;
        while (work)
                {
-               MatchFileData *mfd = work->data;
+               MatchFileData *mfd = static_cast<MatchFileData *>(work->data);
                file_data_unref((FileData *)mfd->fd);
                work = work->next;
                }