Mercurial > geeqie
changeset 1356:681e79dd0820
Slightly modify access_file() and use it to test profile files existence and read access.
author | zas_ |
---|---|
date | Sun, 01 Mar 2009 15:41:51 +0000 |
parents | 5a61fb9adc05 |
children | 4ca837d74999 |
files | src/image.c src/layout.c src/ui_fileops.c |
diffstat | 3 files changed, 8 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/src/image.c Sun Mar 01 15:28:06 2009 +0000 +++ b/src/image.c Sun Mar 01 15:41:51 2009 +0000 @@ -204,13 +204,12 @@ if (imd->color_profile_input >= COLOR_PROFILE_FILE && imd->color_profile_input < COLOR_PROFILE_FILE + COLOR_PROFILE_INPUTS) { - gint n; - - n = imd->color_profile_input - COLOR_PROFILE_FILE; - if (!options->color_profile.input_file[n] || !options->color_profile.input_file[n][0]) return FALSE; + const gchar *file = options->color_profile.input_file[imd->color_profile_input - COLOR_PROFILE_FILE]; + + if (!access_file(file, R_OK)) return FALSE; input_type = COLOR_PROFILE_FILE; - input_file = options->color_profile.input_file[n]; + input_file = file; } else if (imd->color_profile_input >= COLOR_PROFILE_SRGB && imd->color_profile_input < COLOR_PROFILE_FILE) @@ -224,8 +223,7 @@ } if (imd->color_profile_screen == 1 && - options->color_profile.screen_file && - options->color_profile.screen_file[0]) + access_file(options->color_profile.screen_file, R_OK)) { screen_type = COLOR_PROFILE_FILE; screen_file = options->color_profile.screen_file;
--- a/src/layout.c Sun Mar 01 15:28:06 2009 +0000 +++ b/src/layout.c Sun Mar 01 15:41:51 2009 +0000 @@ -482,7 +482,7 @@ G_CALLBACK(layout_color_menu_input_cb), lw); g_free(buf); g_object_set_data(G_OBJECT(item), COLOR_MENU_KEY, GINT_TO_POINTER(i + COLOR_PROFILE_FILE)); - gtk_widget_set_sensitive(item, active && !from_image && file && file[0] && access_file(file, R_OK)); + gtk_widget_set_sensitive(item, active && !from_image && access_file(file, R_OK)); } menu_item_add_divider(menu); @@ -498,7 +498,7 @@ _("_Screen profile"), (screen == 1), G_CALLBACK(layout_color_menu_screen_cb), lw); g_object_set_data(G_OBJECT(item), COLOR_MENU_KEY, GINT_TO_POINTER(1)); - gtk_widget_set_sensitive(item, active && options->color_profile.screen_file && options->color_profile.screen_file[0]); + gtk_widget_set_sensitive(item, active && access_file(options->color_profile.screen_file, R_OK)); gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL, 0, GDK_CURRENT_TIME); #endif /* HAVE_LCMS */