changeset 1342:06ec1279e33e

Color profiles menu: test for file access before allowing to select it as input profile.
author zas_
date Sat, 28 Feb 2009 19:41:23 +0000
parents 63eb48237608
children eebb8d0cb677
files src/layout.c
diffstat 1 files changed, 4 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/layout.c	Sat Feb 28 18:51:25 2009 +0000
+++ b/src/layout.c	Sat Feb 28 19:41:23 2009 +0000
@@ -467,11 +467,11 @@
 
 	for (i = 0; i < COLOR_PROFILE_INPUTS; i++)
 		{
-		const gchar *name;
+		const gchar *name = options->color_profile.input_name[i];
+		const gchar *file = options->color_profile.input_file[i];
 		gchar *end;
 
-		name = options->color_profile.input_name[i];
-		if (!name || !name[0]) name = filename_from_path(options->color_profile.input_file[i]);
+		if (!name || !name[0]) name = filename_from_path(file);
 
 		end = layout_color_name_parse(name);
 		buf = g_strdup_printf(_("Input _%d: %s"), i + COLOR_PROFILE_FILE, end);
@@ -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 && options->color_profile.input_file[i] && options->color_profile.input_file[i][0]);
+		gtk_widget_set_sensitive(item, active && !from_image && file && file[0] && access_file(file, R_OK));
 		}
 
 	menu_item_add_divider(menu);