diff --git a/ChangeLog b/ChangeLog index 629236ce52..e2eb37155a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Sun Apr 26 16:17:46 PDT 1998 Manish Singh + + * app/procedural_db.c + * app/text_tool.c: applied mem leak patch from Mattias Gronlund + + * plug-ins/tiff/tiff.c: fix for indexed save from Dan Mitchell + Sun Apr 26 15:11:06 PDT 1998 Manish Singh * plug-ins/oilify/oilify.c: folded optimizations back in diff --git a/app/procedural_db.c b/app/procedural_db.c index e94c43b4f7..56e184ddf6 100644 --- a/app/procedural_db.c +++ b/app/procedural_db.c @@ -1070,6 +1070,14 @@ procedural_db_query (Argument *args) g_hash_table_foreach (procedural_ht, procedural_db_query_entry, &pdb_query); + free (pdb_query.name_regex.buffer); + free (pdb_query.blurb_regex.buffer); + free (pdb_query.help_regex.buffer); + free (pdb_query.author_regex.buffer); + free (pdb_query.copyright_regex.buffer); + free (pdb_query.date_regex.buffer); + free (pdb_query.proc_type_regex.buffer); + return_args = procedural_db_return_args (&procedural_db_query_proc, TRUE); return_args[1].value.pdb_int = pdb_query.num_procs; diff --git a/app/text_tool.c b/app/text_tool.c index 2d69a9e73f..a302d86ca9 100644 --- a/app/text_tool.c +++ b/app/text_tool.c @@ -1330,6 +1330,7 @@ text_insert_font (FontInfo **table, if (cmp == 0) { table[middle]->fontnames = g_slist_prepend (table[middle]->fontnames, g_strdup (fontname)); + g_free (family); return; } else if (cmp < 0) @@ -1412,7 +1413,10 @@ text_insert_field (GSList *list, } if (cmp == 0) - return list; + { + g_free (field); + return list; + } new_list = g_slist_alloc(); new_list->data = field; diff --git a/app/tools/gimptexttool.c b/app/tools/gimptexttool.c index 2d69a9e73f..a302d86ca9 100644 --- a/app/tools/gimptexttool.c +++ b/app/tools/gimptexttool.c @@ -1330,6 +1330,7 @@ text_insert_font (FontInfo **table, if (cmp == 0) { table[middle]->fontnames = g_slist_prepend (table[middle]->fontnames, g_strdup (fontname)); + g_free (family); return; } else if (cmp < 0) @@ -1412,7 +1413,10 @@ text_insert_field (GSList *list, } if (cmp == 0) - return list; + { + g_free (field); + return list; + } new_list = g_slist_alloc(); new_list->data = field; diff --git a/app/tools/text_tool.c b/app/tools/text_tool.c index 2d69a9e73f..a302d86ca9 100644 --- a/app/tools/text_tool.c +++ b/app/tools/text_tool.c @@ -1330,6 +1330,7 @@ text_insert_font (FontInfo **table, if (cmp == 0) { table[middle]->fontnames = g_slist_prepend (table[middle]->fontnames, g_strdup (fontname)); + g_free (family); return; } else if (cmp < 0) @@ -1412,7 +1413,10 @@ text_insert_field (GSList *list, } if (cmp == 0) - return list; + { + g_free (field); + return list; + } new_list = g_slist_alloc(); new_list->data = field; diff --git a/plug-ins/common/tiff.c b/plug-ins/common/tiff.c index 028a8d6eb6..6a7a8f6f47 100644 --- a/plug-ins/common/tiff.c +++ b/plug-ins/common/tiff.c @@ -764,9 +764,9 @@ save_image (char *filename, for (i = 0; i < colors; i++) { - red[i] = *cmap++ << 8; - grn[i] = *cmap++ << 8; - blu[i] = *cmap++ << 8; + red[i] = *cmap++ * 65535 / 255; + grn[i] = *cmap++ * 65535 / 255; + blu[i] = *cmap++ * 65535 / 255; } break; case INDEXEDA_IMAGE: diff --git a/plug-ins/tiff/tiff.c b/plug-ins/tiff/tiff.c index 028a8d6eb6..6a7a8f6f47 100644 --- a/plug-ins/tiff/tiff.c +++ b/plug-ins/tiff/tiff.c @@ -764,9 +764,9 @@ save_image (char *filename, for (i = 0; i < colors; i++) { - red[i] = *cmap++ << 8; - grn[i] = *cmap++ << 8; - blu[i] = *cmap++ << 8; + red[i] = *cmap++ * 65535 / 255; + grn[i] = *cmap++ * 65535 / 255; + blu[i] = *cmap++ * 65535 / 255; } break; case INDEXEDA_IMAGE: