Applied patch for #87687 (ImageMap should use lowercase, not uppercase tags) from shaneyfelt@juno.com

This commit is contained in:
Maurits Rijk
2002-08-22 10:25:28 +00:00
parent 06aa1afdde
commit 1479fe4c49
3 changed files with 30 additions and 15 deletions

View File

@ -1,3 +1,9 @@
2002-08-22 Maurits Rijk <lpeek.mrijk@consunet.nl>
* plug-ins/imagemap/imap_main.c (save_as_csim)
* plug-ins/imagemap/imap_object.c: applied patch for #87687 from
shaneyfelt@juno.com
2002-08-22 Michael Natterer <mitch@gimp.org>
Fixed usage of uninitialized memory found by valgrind,

View File

@ -894,7 +894,7 @@ save_as_csim(gpointer param, OutputFunc_t output)
gchar *description;
output(param, "<img src=\"%s\" width=%d height=%d border=0 "
"usemap=\"#%s\">\n\n", _map_info.image_name,
"usemap=\"#%s\" />\n\n", _map_info.image_name,
_image_width, _image_height, _map_info.title);
output(param, "<map name=\"%s\">\n", _map_info.title);
output(param,
@ -912,7 +912,7 @@ save_as_csim(gpointer param, OutputFunc_t output)
object_list_write_csim(_shapes, param, output);
if (*_map_info.default_url)
output(param, "<area shape=\"default\" href=\"%s\">\n",
output(param, "<area shape=\"default\" href=\"%s\" />\n",
_map_info.default_url);
output(param, "</map>\n");
}

View File

@ -946,6 +946,20 @@ object_list_send_to_back(ObjectList_t *list)
}
}
static void
write_xml_attrib(const gchar *attrib, const gchar *value,
const gchar *default_text, gpointer param,
OutputFunc_t output)
{
if (*value) {
gchar *escaped_value = g_markup_escape_text(value, -1);
output(param, " %s=\"%s\"", attrib, escaped_value);
g_free(escaped_value);
} else if (*default_text) {
output(param, " %s", default_text);
}
}
void
object_list_write_csim(ObjectList_t *list, gpointer param, OutputFunc_t output)
{
@ -955,20 +969,15 @@ object_list_write_csim(ObjectList_t *list, gpointer param, OutputFunc_t output)
output(param, "<area shape=");
obj->class->write_csim(obj, param, output);
if (*obj->comment)
output(param, " alt=\"%s\"", obj->comment);
if (*obj->target)
output(param, " target=\"%s\"", obj->target);
if (*obj->mouse_over)
output(param, " onmouseover=\"%s\"", obj->mouse_over);
if (*obj->mouse_out)
output(param, " onmouseout=\"%s\"", obj->mouse_out);
if (*obj->focus)
output(param, " onfocus=\"%s\"", obj->focus);
if (*obj->blur)
output(param, " onblur=\"%s\"", obj->blur);
output(param, " href=\"%s\">\n", obj->url);
write_xml_attrib("alt", obj->comment, "", param, output);
write_xml_attrib("target", obj->target, "", param, output);
write_xml_attrib("onmouseover", obj->mouse_over, "", param, output);
write_xml_attrib("onmouseout", obj->mouse_out, "", param, output);
write_xml_attrib("onfocus", obj->focus, "", param, output);
write_xml_attrib("onblur", obj->blur, "", param, output);
write_xml_attrib("href", obj->url, " nohref=\"nohref\"", param, output);
output(param," />\n");
}
}