Documentation: Use G_SOURCE_CONTINUE and G_SOURCE_REMOVE
[geeqie.git] / src / pan-view / pan-view.cc
index 3fd102b..623024e 100644 (file)
@@ -95,37 +95,37 @@ hard_coded_window_keys pan_view_window_keys[] = {
        {GDK_CONTROL_MASK, 'W', N_("Close window")},
        {GDK_CONTROL_MASK, 'F', N_("Display Find search bar")},
        {GDK_CONTROL_MASK, 'G', N_("Start search")},
-       {0, GDK_KEY_Escape, N_("Exit fullscreen")},
-       {0, GDK_KEY_Escape, N_("Hide Find search bar")},
-       {0, GDK_KEY_equal, N_("Zoom in")},
-       {0, GDK_KEY_plus, N_("Zoom in")},
-       {0, GDK_KEY_minus, N_("Zoom out")},
-       {0, GDK_KEY_Z, N_("Zoom 1:1")},
-       {0, GDK_KEY_1, N_("Zoom 1:1")},
-       {0, GDK_KEY_KP_Divide, N_("Zoom 1:1")},
-       {0, '2', N_("Zoom 2:1")},
-       {0, '3', N_("Zoom 3:1")},
-       {0, '4', N_("Zoom 4:1")},
-       {0, '7', N_("Zoom 1:4")},
-       {0, '8', N_("Zoom 1:3")},
-       {0, '9', N_("Zoom 1:2")},
-       {0, 'F', N_("Full screen")},
-       {0, 'V', N_("Full screen")},
-       {0, GDK_KEY_F11, N_("Full screen")},
-       {0, '/', N_("Display Find search bar")},
-       {0, GDK_KEY_Left, N_("Scroll left")},
-       {0, GDK_KEY_Right, N_("Scroll right")},
-       {0, GDK_KEY_Up, N_("Scroll up")},
-       {0, GDK_KEY_Down, N_("Scroll down")},
+       {static_cast<GdkModifierType>(0), GDK_KEY_Escape, N_("Exit fullscreen")},
+       {static_cast<GdkModifierType>(0), GDK_KEY_Escape, N_("Hide Find search bar")},
+       {static_cast<GdkModifierType>(0), GDK_KEY_equal, N_("Zoom in")},
+       {static_cast<GdkModifierType>(0), GDK_KEY_plus, N_("Zoom in")},
+       {static_cast<GdkModifierType>(0), GDK_KEY_minus, N_("Zoom out")},
+       {static_cast<GdkModifierType>(0), GDK_KEY_Z, N_("Zoom 1:1")},
+       {static_cast<GdkModifierType>(0), GDK_KEY_1, N_("Zoom 1:1")},
+       {static_cast<GdkModifierType>(0), GDK_KEY_KP_Divide, N_("Zoom 1:1")},
+       {static_cast<GdkModifierType>(0), '2', N_("Zoom 2:1")},
+       {static_cast<GdkModifierType>(0), '3', N_("Zoom 3:1")},
+       {static_cast<GdkModifierType>(0), '4', N_("Zoom 4:1")},
+       {static_cast<GdkModifierType>(0), '7', N_("Zoom 1:4")},
+       {static_cast<GdkModifierType>(0), '8', N_("Zoom 1:3")},
+       {static_cast<GdkModifierType>(0), '9', N_("Zoom 1:2")},
+       {static_cast<GdkModifierType>(0), 'F', N_("Full screen")},
+       {static_cast<GdkModifierType>(0), 'V', N_("Full screen")},
+       {static_cast<GdkModifierType>(0), GDK_KEY_F11, N_("Full screen")},
+       {static_cast<GdkModifierType>(0), '/', N_("Display Find search bar")},
+       {static_cast<GdkModifierType>(0), GDK_KEY_Left, N_("Scroll left")},
+       {static_cast<GdkModifierType>(0), GDK_KEY_Right, N_("Scroll right")},
+       {static_cast<GdkModifierType>(0), GDK_KEY_Up, N_("Scroll up")},
+       {static_cast<GdkModifierType>(0), GDK_KEY_Down, N_("Scroll down")},
        {GDK_SHIFT_MASK, GDK_KEY_Left, N_("Scroll left faster")},
        {GDK_SHIFT_MASK, GDK_KEY_Right, N_("Scroll right faster")},
        {GDK_SHIFT_MASK, GDK_KEY_Up, N_("Scroll up faster")},
        {GDK_SHIFT_MASK, GDK_KEY_Down, N_("Scroll down faster")},
-       {0, GDK_KEY_Page_Up, N_("Scroll display half screen up")},
-       {0, GDK_KEY_Page_Down, N_("Scroll display half screen down")},
-       {0, GDK_KEY_Home, N_("Scroll display half screen left")},
-       {0, GDK_KEY_End, N_("Scroll display half screen right")},
-       {0, 0, NULL}
+       {static_cast<GdkModifierType>(0), GDK_KEY_Page_Up, N_("Scroll display half screen up")},
+       {static_cast<GdkModifierType>(0), GDK_KEY_Page_Down, N_("Scroll display half screen down")},
+       {static_cast<GdkModifierType>(0), GDK_KEY_Home, N_("Scroll display half screen left")},
+       {static_cast<GdkModifierType>(0), GDK_KEY_End, N_("Scroll display half screen right")},
+       {static_cast<GdkModifierType>(0), 0, NULL}
 };
 
 /*
@@ -139,7 +139,7 @@ static gboolean pan_queue_step(PanWindow *pw);
 
 static void pan_queue_thumb_done_cb(ThumbLoader *tl, gpointer data)
 {
-       PanWindow *pw = data;
+       PanWindow *pw = (PanWindow *)data;
 
        if (pw->queue_pi)
                {
@@ -167,7 +167,7 @@ static void pan_queue_thumb_done_cb(ThumbLoader *tl, gpointer data)
 
 static void pan_queue_image_done_cb(ImageLoader *il, gpointer data)
 {
-       PanWindow *pw = data;
+       PanWindow *pw = (PanWindow *)data;
        GdkPixbuf *rotated = NULL;
 
        if (pw->queue_pi)
@@ -235,7 +235,7 @@ static gboolean pan_queue_step(PanWindow *pw)
 
        if (!pw->queue) return FALSE;
 
-       pi = pw->queue->data;
+       pi = static_cast<PanItem *>(pw->queue->data);
        pw->queue = g_list_remove(pw->queue, pi);
        pw->queue_pi = pi;
 
@@ -322,7 +322,7 @@ static void pan_queue_add(PanWindow *pw, PanItem *pi)
 static gboolean pan_window_request_tile_cb(PixbufRenderer *pr, gint x, gint y,
                                           gint width, gint height, GdkPixbuf *pixbuf, gpointer data)
 {
-       PanWindow *pw = data;
+       PanWindow *pw = (PanWindow *)data;
        GList *list;
        GList *work;
        gint i;
@@ -365,7 +365,7 @@ static gboolean pan_window_request_tile_cb(PixbufRenderer *pr, gint x, gint y,
                PanItem *pi;
                gboolean queue = FALSE;
 
-               pi = work->data;
+               pi = static_cast<PanItem *>(work->data);
                work = work->next;
 
                pi->refcount++;
@@ -403,7 +403,7 @@ static gboolean pan_window_request_tile_cb(PixbufRenderer *pr, gint x, gint y,
 static void pan_window_dispose_tile_cb(PixbufRenderer *UNUSED(pr), gint x, gint y,
                                       gint width, gint height, GdkPixbuf *UNUSED(pixbuf), gpointer data)
 {
-       PanWindow *pw = data;
+       PanWindow *pw = (PanWindow *)data;
        GList *list;
        GList *work;
 
@@ -413,7 +413,7 @@ static void pan_window_dispose_tile_cb(PixbufRenderer *UNUSED(pr), gint x, gint
                {
                PanItem *pi;
 
-               pi = work->data;
+               pi = static_cast<PanItem *>(work->data);
                work = work->next;
 
                if (pi->refcount > 0)
@@ -468,7 +468,7 @@ static void pan_window_message(PanWindow *pw, const gchar *text)
                        {
                        PanItem *pi;
 
-                       pi = work->data;
+                       pi = static_cast<PanItem *>(work->data);
                        work = work->next;
 
                        if (pi->fd &&
@@ -486,7 +486,7 @@ static void pan_window_message(PanWindow *pw, const gchar *text)
                        {
                        PanItem *pi;
 
-                       pi = work->data;
+                       pi = static_cast<PanItem *>(work->data);
                        work = work->next;
 
                        if (pi->fd &&
@@ -557,8 +557,8 @@ static void pan_window_zoom_limit(PanWindow *pw)
 
 static gint pan_cache_sort_file_cb(gpointer a, gpointer b)
 {
-       PanCacheData *pca = a;
-       PanCacheData *pcb = b;
+       PanCacheData *pca = static_cast<PanCacheData *>(a);
+       PanCacheData *pcb = static_cast<PanCacheData *>(b);
        return filelist_sort_compare_filedata(pca->fd, pcb->fd);
 }
 GList *pan_cache_sort(GList *list, SortType method, gboolean ascend)
@@ -576,7 +576,7 @@ static void pan_cache_free(PanWindow *pw)
                {
                PanCacheData *pc;
 
-               pc = work->data;
+               pc = static_cast<PanCacheData *>(work->data);
                work = work->next;
 
                cache_sim_data_free(pc->cd);
@@ -612,12 +612,12 @@ static void pan_cache_fill(PanWindow *pw, FileData *dir_fd)
 
 static void pan_cache_step_done_cb(CacheLoader *cl, gint UNUSED(error), gpointer data)
 {
-       PanWindow *pw = data;
+       PanWindow *pw = (PanWindow *)data;
 
        if (pw->cache_list)
                {
                PanCacheData *pc;
-               pc = pw->cache_list->data;
+               pc = static_cast<PanCacheData *>(pw->cache_list->data);
 
                if (!pc->cd)
                        {
@@ -640,7 +640,7 @@ static gboolean pan_cache_step(PanWindow *pw)
 
        if (!pw->cache_todo) return TRUE;
 
-       fd = pw->cache_todo->data;
+       fd = static_cast<FileData *>(pw->cache_todo->data);
        pw->cache_todo = g_list_remove(pw->cache_todo, fd);
 
        pc = g_new0(PanCacheData, 1);
@@ -653,8 +653,8 @@ static gboolean pan_cache_step(PanWindow *pw)
        cache_loader_free(pw->cache_cl);
 
        load_mask = CACHE_LOADER_NONE;
-       if (pw->size > PAN_IMAGE_SIZE_THUMB_LARGE) load_mask |= CACHE_LOADER_DIMENSIONS;
-       if (pw->exif_date_enable) load_mask |= CACHE_LOADER_DATE;
+       if (pw->size > PAN_IMAGE_SIZE_THUMB_LARGE) load_mask = static_cast<CacheDataType>(load_mask | CACHE_LOADER_DIMENSIONS);
+       if (pw->exif_date_enable) load_mask = static_cast<CacheDataType>(load_mask | CACHE_LOADER_DATE);
        pw->cache_cl = cache_loader_new(pc->fd, load_mask,
                                        pan_cache_step_done_cb, pw);
        return (pw->cache_cl == NULL);
@@ -674,7 +674,7 @@ void pan_cache_sync_date(PanWindow *pw, GList *list)
                FileData *fd;
                GList *needle;
 
-               fd = work->data;
+               fd = static_cast<FileData *>(work->data);
                work = work->next;
 
                needle = haystack;
@@ -682,7 +682,7 @@ void pan_cache_sync_date(PanWindow *pw, GList *list)
                        {
                        PanCacheData *pc;
 
-                       pc = needle->data;
+                       pc = static_cast<PanCacheData *>(needle->data);
                        if (pc->fd == fd)
                                {
                                if (pc->cd && pc->cd->have_date && pc->cd->date >= 0)
@@ -718,7 +718,7 @@ static void pan_grid_clear(PanWindow *pw)
                {
                PanGrid *pg;
 
-               pg = work->data;
+               pg = static_cast<PanGrid *>(work->data);
                work = work->next;
 
                g_list_free(pg->list);
@@ -785,7 +785,7 @@ static void pan_grid_build(PanWindow *pw, gint width, gint height, gint grid_siz
                PanItem *pi;
                GList *grid;
 
-               pi = work->data;
+               pi = static_cast<PanItem *>(work->data);
                work = work->next;
 
                grid = pw->list_grid;
@@ -794,7 +794,7 @@ static void pan_grid_build(PanWindow *pw, gint width, gint height, gint grid_siz
                        PanGrid *pg;
                        gint rx, ry, rw, rh;
 
-                       pg = grid->data;
+                       pg = static_cast<PanGrid *>(grid->data);
                        grid = grid->next;
 
                        if (util_clip_region(pi->x, pi->y, pi->width, pi->height,
@@ -811,7 +811,7 @@ static void pan_grid_build(PanWindow *pw, gint width, gint height, gint grid_siz
                {
                PanGrid *pg;
 
-               pg = work->data;
+               pg = static_cast<PanGrid *>(work->data);
                work = work->next;
 
                pg->list = g_list_reverse(pg->list);
@@ -837,7 +837,7 @@ static void pan_window_items_free(PanWindow *pw)
        work = pw->list;
        while (work)
                {
-               PanItem *pi = work->data;
+               PanItem *pi = (PanItem *)work->data;
                work = work->next;
 
                pan_item_free(pi);
@@ -959,7 +959,7 @@ static GList *pan_layout_intersect_l(GList *list, GList *item_list,
                PanItem *pi;
                gint rx, ry, rw, rh;
 
-               pi = work->data;
+               pi = static_cast<PanItem *>(work->data);
                work = work->next;
 
                if (util_clip_region(x, y, width, height,
@@ -982,7 +982,7 @@ GList *pan_layout_intersect(PanWindow *pw, gint x, gint y, gint width, gint heig
        grid = pw->list_grid;
        while (grid && !pg)
                {
-               pg = grid->data;
+               pg = static_cast<PanGrid *>(grid->data);
                grid = grid->next;
 
                if (x < pg->x || x + width > pg->x + pg->w ||
@@ -1018,7 +1018,7 @@ void pan_layout_resize(PanWindow *pw)
                {
                PanItem *pi;
 
-               pi = work->data;
+               pi = static_cast<PanItem *>(work->data);
                work = work->next;
 
                if (width < pi->x + pi->width) width = pi->x + pi->width;
@@ -1029,7 +1029,7 @@ void pan_layout_resize(PanWindow *pw)
                {
                PanItem *pi;
 
-               pi = work->data;
+               pi = static_cast<PanItem *>(work->data);
                work = work->next;
 
                if (width < pi->x + pi->width) width = pi->x + pi->width;
@@ -1048,7 +1048,7 @@ void pan_layout_resize(PanWindow *pw)
 
 static gint pan_layout_update_idle_cb(gpointer data)
 {
-       PanWindow *pw = data;
+       PanWindow *pw = (PanWindow *)data;
        gint width;
        gint height;
        gint scroll_x;
@@ -1063,7 +1063,7 @@ static gint pan_layout_update_idle_cb(gpointer data)
                        if (pw->cache_todo)
                                {
                                pan_window_message(pw, _("Reading image data..."));
-                               return TRUE;
+                               return G_SOURCE_CONTINUE;
                                }
                        }
                if (pw->cache_todo)
@@ -1086,10 +1086,10 @@ static gint pan_layout_update_idle_cb(gpointer data)
                                pw->cache_tick = 0;
                                }
 
-                       if (pan_cache_step(pw)) return TRUE;
+                       if (pan_cache_step(pw)) return G_SOURCE_CONTINUE;
 
                        pw->idle_id = 0;
-                       return FALSE;
+                       return G_SOURCE_REMOVE;
                        }
                }
 
@@ -1124,7 +1124,7 @@ static gint pan_layout_update_idle_cb(gpointer data)
        pan_window_message(pw, NULL);
 
        pw->idle_id = 0;
-       return FALSE;
+       return G_SOURCE_REMOVE;
 }
 
 static void pan_layout_update_idle(PanWindow *pw)
@@ -1172,7 +1172,7 @@ FileData *pan_menu_click_fd(PanWindow *pw)
 
 static gboolean pan_window_key_press_cb(GtkWidget *widget, GdkEventKey *event, gpointer data)
 {
-       PanWindow *pw = data;
+       PanWindow *pw = (PanWindow *)data;
        PixbufRenderer *pr;
        FileData *fd;
        gboolean stop_signal = FALSE;
@@ -1391,9 +1391,9 @@ static void pan_info_add_exif(PanTextAlignment *ta, FileData *fd)
        exif_list = bar_pane_exif_list();
        while (exif_list)
                {
-               title = exif_list->data;
+               title = static_cast<gchar *>(exif_list->data);
                exif_list = exif_list->next;
-               key = exif_list->data;
+               key = static_cast<gchar *>(exif_list->data);
                exif_list = exif_list->next;
 
                text = metadata_read_string(fd, key, METADATA_FORMATTED);
@@ -1541,7 +1541,7 @@ void pan_info_update(PanWindow *pw, PanItem *pi)
 
 static void button_cb(PixbufRenderer *pr, GdkEventButton *event, gpointer data)
 {
-       PanWindow *pw = data;
+       PanWindow *pw = (PanWindow *)data;
        PanItem *pi = NULL;
        GtkWidget *menu;
        gint rx, ry;
@@ -1647,7 +1647,7 @@ static void pan_image_set_buttons(PanWindow *pw, ImageWindow *imd)
 
 static void pan_fullscreen_stop_func(FullScreenData *UNUSED(fs), gpointer data)
 {
-       PanWindow *pw = data;
+       PanWindow *pw = (PanWindow *)data;
 
        pw->fs = NULL;
        pw->imd = pw->imd_normal;
@@ -1674,7 +1674,7 @@ static void pan_fullscreen_toggle(PanWindow *pw, gboolean force_off)
 
 static void pan_window_image_zoom_cb(PixbufRenderer *UNUSED(pr), gdouble UNUSED(zoom), gpointer data)
 {
-       PanWindow *pw = data;
+       PanWindow *pw = (PanWindow *)data;
        gchar *text;
 
        text = image_zoom_get_as_text(pw->imd);
@@ -1684,7 +1684,7 @@ static void pan_window_image_zoom_cb(PixbufRenderer *UNUSED(pr), gdouble UNUSED(
 
 static void pan_window_image_scroll_notify_cb(PixbufRenderer *pr, gpointer data)
 {
-       PanWindow *pw = data;
+       PanWindow *pw = (PanWindow *)data;
        GtkAdjustment *adj;
        GdkRectangle rect;
        gint width, height;
@@ -1723,7 +1723,7 @@ static void pan_window_image_scroll_notify_cb(PixbufRenderer *pr, gpointer data)
 
 static void pan_window_scrollbar_h_value_cb(GtkRange *range, gpointer data)
 {
-       PanWindow *pw = data;
+       PanWindow *pw = (PanWindow *)data;
        PixbufRenderer *pr;
        gint x;
 
@@ -1738,7 +1738,7 @@ static void pan_window_scrollbar_h_value_cb(GtkRange *range, gpointer data)
 
 static void pan_window_scrollbar_v_value_cb(GtkRange *range, gpointer data)
 {
-       PanWindow *pw = data;
+       PanWindow *pw = (PanWindow *)data;
        PixbufRenderer *pr;
        gint y;
 
@@ -1753,23 +1753,23 @@ static void pan_window_scrollbar_v_value_cb(GtkRange *range, gpointer data)
 
 static void pan_window_layout_change_cb(GtkWidget *combo, gpointer data)
 {
-       PanWindow *pw = data;
+       PanWindow *pw = (PanWindow *)data;
 
-       pw->layout = gtk_combo_box_get_active(GTK_COMBO_BOX(combo));
+       pw->layout = static_cast<PanLayoutType>(gtk_combo_box_get_active(GTK_COMBO_BOX(combo)));
        pan_layout_update(pw);
 }
 
 static void pan_window_layout_size_cb(GtkWidget *combo, gpointer data)
 {
-       PanWindow *pw = data;
+       PanWindow *pw = (PanWindow *)data;
 
-       pw->size = gtk_combo_box_get_active(GTK_COMBO_BOX(combo));
+       pw->size = static_cast<PanImageSize>(gtk_combo_box_get_active(GTK_COMBO_BOX(combo)));
        pan_layout_update(pw);
 }
 
 static void pan_window_entry_activate_cb(const gchar *new_text, gpointer data)
 {
-       PanWindow *pw = data;
+       PanWindow *pw = (PanWindow *)data;
        gchar *path;
 
        path = remove_trailing_slash(new_text);
@@ -1821,7 +1821,7 @@ static void pan_window_close(PanWindow *pw)
 
 static gboolean pan_window_delete_cb(GtkWidget *UNUSED(w), GdkEventAny *UNUSED(event), gpointer data)
 {
-       PanWindow *pw = data;
+       PanWindow *pw = (PanWindow *)data;
 
        pan_window_close(pw);
        return TRUE;
@@ -1938,7 +1938,7 @@ static void pan_window_new_real(FileData *dir_fd)
                         G_CALLBACK(pan_window_image_scroll_notify_cb), pw);
 
        gtk_table_attach(GTK_TABLE(table), pw->imd->widget, 0, 1, 0, 1,
-                        GTK_FILL | GTK_EXPAND, GTK_FILL | GTK_EXPAND, 0, 0);
+                        static_cast<GtkAttachOptions>(GTK_FILL | GTK_EXPAND), static_cast<GtkAttachOptions>(GTK_FILL | GTK_EXPAND), 0, 0);
        gtk_widget_show(GTK_WIDGET(pw->imd->widget));
 
        pan_window_dnd_init(pw);
@@ -1949,14 +1949,14 @@ static void pan_window_new_real(FileData *dir_fd)
        g_signal_connect(G_OBJECT(pw->scrollbar_h), "value_changed",
                         G_CALLBACK(pan_window_scrollbar_h_value_cb), pw);
        gtk_table_attach(GTK_TABLE(table), pw->scrollbar_h, 0, 1, 1, 2,
-                        GTK_FILL | GTK_EXPAND, 0, 0, 0);
+                        static_cast<GtkAttachOptions>(GTK_FILL | GTK_EXPAND), static_cast<GtkAttachOptions>(0), 0, 0);
        gtk_widget_show(pw->scrollbar_h);
 
        pw->scrollbar_v = gtk_vscrollbar_new(NULL);
        g_signal_connect(G_OBJECT(pw->scrollbar_v), "value_changed",
                         G_CALLBACK(pan_window_scrollbar_v_value_cb), pw);
        gtk_table_attach(GTK_TABLE(table), pw->scrollbar_v, 1, 2, 0, 1,
-                        0, GTK_FILL | GTK_EXPAND, 0, 0);
+                        static_cast<GtkAttachOptions>(0), static_cast<GtkAttachOptions>(GTK_FILL | GTK_EXPAND), 0, 0);
        gtk_widget_show(pw->scrollbar_v);
 
        /* find bar */
@@ -2028,7 +2028,7 @@ static void pan_window_new_real(FileData *dir_fd)
 
 static void pan_warning_ok_cb(GenericDialog *gd, gpointer data)
 {
-       FileData *dir_fd = data;
+       FileData *dir_fd = (FileData *)data;
 
        generic_dialog_close(gd);
 
@@ -2121,7 +2121,7 @@ void pan_window_new(FileData *dir_fd)
 
 static void pan_new_window_cb(GtkWidget *UNUSED(widget), gpointer data)
 {
-       PanWindow *pw = data;
+       PanWindow *pw = (PanWindow *)data;
        FileData *fd;
 
        fd = pan_menu_click_fd(pw);
@@ -2135,7 +2135,7 @@ static void pan_new_window_cb(GtkWidget *UNUSED(widget), gpointer data)
 static void pan_go_to_original_cb(GtkWidget *UNUSED(widget), gpointer data)
 {
        LayoutWindow *lw = NULL;
-       PanWindow *pw = data;
+       PanWindow *pw = (PanWindow *)data;
        FileData *fd;
 
        if (!layout_valid(&lw)) return;
@@ -2151,9 +2151,9 @@ static void pan_edit_cb(GtkWidget *widget, gpointer data)
 {
        PanWindow *pw;
        FileData *fd;
-       const gchar *key = data;
+       const gchar *key = static_cast<const gchar *>(data);
 
-       pw = submenu_item_get_data(widget);
+       pw = static_cast<PanWindow *>(submenu_item_get_data(widget));
        if (!pw) return;
 
        fd = pan_menu_click_fd(pw);
@@ -2169,28 +2169,28 @@ static void pan_edit_cb(GtkWidget *widget, gpointer data)
 
 static void pan_zoom_in_cb(GtkWidget *UNUSED(widget), gpointer data)
 {
-       PanWindow *pw = data;
+       PanWindow *pw = (PanWindow *)data;
 
        image_zoom_adjust(pw->imd, ZOOM_INCREMENT);
 }
 
 static void pan_zoom_out_cb(GtkWidget *UNUSED(widget), gpointer data)
 {
-       PanWindow *pw = data;
+       PanWindow *pw = (PanWindow *)data;
 
        image_zoom_adjust(pw->imd, -ZOOM_INCREMENT);
 }
 
 static void pan_zoom_1_1_cb(GtkWidget *UNUSED(widget), gpointer data)
 {
-       PanWindow *pw = data;
+       PanWindow *pw = (PanWindow *)data;
 
        image_zoom_set(pw->imd, 1.0);
 }
 
 static void pan_copy_cb(GtkWidget *UNUSED(widget), gpointer data)
 {
-       PanWindow *pw = data;
+       PanWindow *pw = (PanWindow *)data;
        FileData *fd;
 
        fd = pan_menu_click_fd(pw);
@@ -2199,7 +2199,7 @@ static void pan_copy_cb(GtkWidget *UNUSED(widget), gpointer data)
 
 static void pan_move_cb(GtkWidget *UNUSED(widget), gpointer data)
 {
-       PanWindow *pw = data;
+       PanWindow *pw = (PanWindow *)data;
        FileData *fd;
 
        fd = pan_menu_click_fd(pw);
@@ -2208,7 +2208,7 @@ static void pan_move_cb(GtkWidget *UNUSED(widget), gpointer data)
 
 static void pan_rename_cb(GtkWidget *UNUSED(widget), gpointer data)
 {
-       PanWindow *pw = data;
+       PanWindow *pw = (PanWindow *)data;
        FileData *fd;
 
        fd = pan_menu_click_fd(pw);
@@ -2217,7 +2217,7 @@ static void pan_rename_cb(GtkWidget *UNUSED(widget), gpointer data)
 
 static void pan_delete_cb(GtkWidget *UNUSED(widget), gpointer data)
 {
-       PanWindow *pw = data;
+       PanWindow *pw = (PanWindow *)data;
        FileData *fd;
 
        fd = pan_menu_click_fd(pw);
@@ -2230,7 +2230,7 @@ static void pan_delete_cb(GtkWidget *UNUSED(widget), gpointer data)
 
 static void pan_move_to_trash_cb(GtkWidget *UNUSED(widget), gpointer data)
 {
-       PanWindow *pw = data;
+       PanWindow *pw = (PanWindow *)data;
        FileData *fd;
 
        fd = pan_menu_click_fd(pw);
@@ -2243,7 +2243,7 @@ static void pan_move_to_trash_cb(GtkWidget *UNUSED(widget), gpointer data)
 
 static void pan_copy_path_cb(GtkWidget *UNUSED(widget), gpointer data)
 {
-       PanWindow *pw = data;
+       PanWindow *pw = (PanWindow *)data;
        FileData *fd;
 
        fd = pan_menu_click_fd(pw);
@@ -2252,7 +2252,7 @@ static void pan_copy_path_cb(GtkWidget *UNUSED(widget), gpointer data)
 
 static void pan_copy_path_unquoted_cb(GtkWidget *UNUSED(widget), gpointer data)
 {
-       PanWindow *pw = data;
+       PanWindow *pw = (PanWindow *)data;
        FileData *fd;
 
        fd = pan_menu_click_fd(pw);
@@ -2261,7 +2261,7 @@ static void pan_copy_path_unquoted_cb(GtkWidget *UNUSED(widget), gpointer data)
 
 static void pan_exif_date_toggle_cb(GtkWidget *widget, gpointer data)
 {
-       PanWindow *pw = data;
+       PanWindow *pw = (PanWindow *)data;
 
        pw->exif_date_enable = gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(widget));
        pan_layout_update(pw);
@@ -2269,7 +2269,7 @@ static void pan_exif_date_toggle_cb(GtkWidget *widget, gpointer data)
 
 static void pan_info_toggle_exif_cb(GtkWidget *widget, gpointer data)
 {
-       PanWindow *pw = data;
+       PanWindow *pw = (PanWindow *)data;
 
        pw->info_includes_exif = gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(widget));
        /** @FIXME sync info now */
@@ -2277,7 +2277,7 @@ static void pan_info_toggle_exif_cb(GtkWidget *widget, gpointer data)
 
 static void pan_info_toggle_image_cb(GtkWidget *widget, gpointer data)
 {
-       PanWindow *pw = data;
+       PanWindow *pw = (PanWindow *)data;
 
        pw->info_image_size = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(widget), INFO_IMAGE_SIZE_KEY));
        /** @FIXME sync info now */
@@ -2285,28 +2285,28 @@ static void pan_info_toggle_image_cb(GtkWidget *widget, gpointer data)
 
 static void pan_fullscreen_cb(GtkWidget *UNUSED(widget), gpointer data)
 {
-       PanWindow *pw = data;
+       PanWindow *pw = (PanWindow *)data;
 
        pan_fullscreen_toggle(pw, FALSE);
 }
 
 static void pan_close_cb(GtkWidget *UNUSED(widget), gpointer data)
 {
-       PanWindow *pw = data;
+       PanWindow *pw = (PanWindow *)data;
 
        pan_window_close(pw);
 }
 
 static void pan_popup_menu_destroy_cb(GtkWidget *UNUSED(widget), gpointer data)
 {
-       GList *editmenu_fd_list = data;
+       GList *editmenu_fd_list = (GList *)data;
 
        filelist_free(editmenu_fd_list);
 }
 
 static void pan_play_cb(GtkWidget *UNUSED(widget), gpointer data)
 {
-       PanWindow *pw = data;
+       PanWindow *pw = (PanWindow *)data;
 
        start_editor_from_file(options->image_l_click_video_editor, pw->click_pi->fd);
 }
@@ -2333,7 +2333,7 @@ static void pan_pop_menu_collections_cb(GtkWidget *widget, gpointer data)
        PanWindow *pw;
        GList *selection_list = NULL;
 
-       pw = submenu_item_get_data(widget);
+       pw = static_cast<PanWindow *>(submenu_item_get_data(widget));
        selection_list = g_list_append(selection_list, pan_menu_click_fd(pw));
        pop_menu_collections(selection_list, data);
 
@@ -2480,7 +2480,7 @@ static void pan_window_get_dnd_data(GtkWidget *UNUSED(widget), GdkDragContext *c
                                    GtkSelectionData *selection_data, guint info,
                                    guint UNUSED(time), gpointer data)
 {
-       PanWindow *pw = data;
+       PanWindow *pw = (PanWindow *)data;
 
        if (gtk_drag_get_source_widget(context) == pw->imd->pr) return;
 
@@ -2491,7 +2491,7 @@ static void pan_window_get_dnd_data(GtkWidget *UNUSED(widget), GdkDragContext *c
                list = uri_filelist_from_gtk_selection_data(selection_data);
                if (list && isdir(((FileData *)list->data)->path))
                        {
-                       FileData *fd = list->data;
+                       FileData *fd = static_cast<FileData *>(list->data);
 
                        pan_layout_set_fd(pw, fd);
                        }
@@ -2504,7 +2504,7 @@ static void pan_window_set_dnd_data(GtkWidget *UNUSED(widget), GdkDragContext *U
                                    GtkSelectionData *selection_data, guint UNUSED(info),
                                    guint UNUSED(time), gpointer data)
 {
-       PanWindow *pw = data;
+       PanWindow *pw = (PanWindow *)data;
        FileData *fd;
 
        fd = pan_menu_click_fd(pw);
@@ -2531,14 +2531,14 @@ static void pan_window_dnd_init(PanWindow *pw)
 
        gtk_drag_source_set(widget, GDK_BUTTON2_MASK,
                            dnd_file_drag_types, dnd_file_drag_types_count,
-                           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(widget), "drag_data_get",
                         G_CALLBACK(pan_window_set_dnd_data), pw);
 
        gtk_drag_dest_set(widget,
-                         GTK_DEST_DEFAULT_MOTION | GTK_DEST_DEFAULT_DROP,
+                         static_cast<GtkDestDefaults>(GTK_DEST_DEFAULT_MOTION | GTK_DEST_DEFAULT_DROP),
                          dnd_file_drop_types, dnd_file_drop_types_count,
-                         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(widget), "drag_data_received",
                         G_CALLBACK(pan_window_get_dnd_data), pw);
 }