[Rawstudio-commit] r3212 - trunk/librawstudio

Klaus Post klauspost at gmail.com
Sat Feb 13 16:20:06 CET 2010


Author: post
Date: 2010-02-13 16:20:06 +0100 (Sat, 13 Feb 2010)
New Revision: 3212

Modified:
   trunk/librawstudio/rs-profile-factory.c
   trunk/librawstudio/rs-profile-selector.c
   trunk/librawstudio/rs-tiff.c
Log:
Fix (Null) being displayed as profile name because of off-by-one in TIFF bounds check.

Modified: trunk/librawstudio/rs-profile-factory.c
===================================================================
--- trunk/librawstudio/rs-profile-factory.c	2010-02-13 14:30:16 UTC (rev 3211)
+++ trunk/librawstudio/rs-profile-factory.c	2010-02-13 15:20:06 UTC (rev 3212)
@@ -62,7 +62,6 @@
 	if (model)
 	{
 		GtkTreeIter iter;
-
 		gtk_list_store_prepend(factory->profiles, &iter);
 		gtk_list_store_set(factory->profiles, &iter,
 			FACTORY_MODEL_COLUMN_TYPE, FACTORY_MODEL_TYPE_DCP,
@@ -186,7 +185,7 @@
 static gboolean
 visible_func(GtkTreeModel *model, GtkTreeIter *iter, gpointer data)
 {
-	gboolean visible = TRUE;
+	gboolean visible = FALSE;
 
 	gchar *model_needle = (gchar *) data;
 	gchar *model_haystack;
@@ -199,9 +198,12 @@
 
 	/* The only thing we need to hide is mismatched DCP profiles */
 	if (model_needle && model_haystack)
-		if ((type == FACTORY_MODEL_TYPE_DCP) && (g_ascii_strcasecmp(model_needle, model_haystack) != 0))
-	    	visible = FALSE;
+		if ((type == FACTORY_MODEL_TYPE_DCP) && (g_ascii_strcasecmp(model_needle, model_haystack) == 0))
+	    	visible = TRUE;
 
+	if (type != FACTORY_MODEL_TYPE_DCP)
+		visible = TRUE;
+
 	return visible;
 }
 

Modified: trunk/librawstudio/rs-profile-selector.c
===================================================================
--- trunk/librawstudio/rs-profile-selector.c	2010-02-13 14:30:16 UTC (rev 3211)
+++ trunk/librawstudio/rs-profile-selector.c	2010-02-13 15:20:06 UTC (rev 3212)
@@ -178,6 +178,7 @@
 	gint type;
 	gpointer profile;
 	gchar *str;
+	const gchar *profile_name;
 
 	g_object_get(filter, "child-model", &model, NULL);
 	gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(filter), &child_iter, iter);
@@ -195,7 +196,8 @@
 		switch(type)
 		{
 			case FACTORY_MODEL_TYPE_DCP:
-				str = g_strdup_printf("%s <small><small>(dcp)</small></small>", rs_dcp_file_get_name(profile));
+				profile_name = rs_dcp_file_get_name(profile);
+				str = g_strdup_printf("%s <small><small>(dcp)</small></small>", profile_name);
 				g_value_set_string(value, str);
 				g_free(str);
 				break;

Modified: trunk/librawstudio/rs-tiff.c
===================================================================
--- trunk/librawstudio/rs-tiff.c	2010-02-13 14:30:16 UTC (rev 3211)
+++ trunk/librawstudio/rs-tiff.c	2010-02-13 15:20:06 UTC (rev 3212)
@@ -189,7 +189,7 @@
 	entry = rs_tiff_get_ifd_entry(tiff, ifd_num, tag);
 	if (entry && entry->type && entry->count)
 	{
-		if ((entry->value_offset + entry->count) < tiff->map_length)
+		if ((entry->value_offset + entry->count) <= tiff->map_length)
 			ret = g_strndup((gchar *) tiff->map + entry->value_offset , entry->count);
 	}
 




More information about the Rawstudio-commit mailing list