[librsvg] bgo#700911 - Make sure the feComponentTransfer functions are actually used
- From: Federico Mena Quintero <federico src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [librsvg] bgo#700911 - Make sure the feComponentTransfer functions are actually used
- Date: Wed, 21 Oct 2015 21:22:19 +0000 (UTC)
commit f0bce7adc1cd5d77d0317ef07b75c738c20041aa
Author: Federico Mena Quintero <federico gnome org>
Date: Wed Oct 21 16:19:58 2015 -0500
bgo#700911 - Make sure the feComponentTransfer functions are actually used
https://bugzilla.gnome.org/show_bug.cgi?id=700911
rsvg-base.c | 2 +-
rsvg-filter.c | 7 ++++---
2 files changed, 5 insertions(+), 4 deletions(-)
---
diff --git a/rsvg-base.c b/rsvg-base.c
index 5eab09d..0bb267d 100644
--- a/rsvg-base.c
+++ b/rsvg-base.c
@@ -277,7 +277,7 @@ rsvg_standard_element_start (RsvgHandle * ctx, const char *name, RsvgPropertyBag
else if (!strcmp (name, "feMergeNode"))
newnode = rsvg_new_filter_primitive_merge_node ();
else if (!strcmp (name, "feFuncR"))
- newnode = rsvg_new_node_component_transfer_function ('r');
+ newnode = rsvg_new_node_component_transfer_function ('r'); /* See
rsvg_filter_primitive_component_transfer_render() for where these values are used */
else if (!strcmp (name, "feFuncG"))
newnode = rsvg_new_node_component_transfer_function ('g');
else if (!strcmp (name, "feFuncB"))
diff --git a/rsvg-filter.c b/rsvg-filter.c
index d80f99f..7fb193a 100644
--- a/rsvg-filter.c
+++ b/rsvg-filter.c
@@ -2621,12 +2621,12 @@ rsvg_filter_primitive_component_transfer_render (RsvgFilterPrimitive *
boundarys = rsvg_filter_primitive_get_bounds (self, ctx);
for (c = 0; c < 4; c++) {
- char channel = "RGBA"[c];
+ char channel = "rgba"[c]; /* see rsvg_standard_element_start() for where these chars come from */
for (i = 0; i < self->super.children->len; i++) {
RsvgNode *child_node;
child_node = (RsvgNode *) g_ptr_array_index (self->super.children, i);
- if (RSVG_NODE_TYPE (child_node) == RSVG_NODE_TYPE_FILTER_PRIMITIVE_COMPONENT_TRANSFER) {
+ if (RSVG_NODE_TYPE (child_node) == RSVG_NODE_TYPE_COMPONENT_TRANFER_FUNCTION) {
RsvgNodeComponentTransferFunc *temp = (RsvgNodeComponentTransferFunc *) child_node;
if (temp->channel == channel) {
@@ -2803,12 +2803,13 @@ rsvg_new_node_component_transfer_function (char channel)
{
RsvgNodeComponentTransferFunc *filter;
- filter = g_new (RsvgNodeComponentTransferFunc, 1);
+ filter = g_new0 (RsvgNodeComponentTransferFunc, 1);
_rsvg_node_init (&filter->super, RSVG_NODE_TYPE_COMPONENT_TRANFER_FUNCTION);
filter->super.free = rsvg_component_transfer_function_free;
filter->super.set_atts = rsvg_node_component_transfer_function_set_atts;
filter->function = identity_component_transfer_func;
filter->nbTableValues = 0;
+ filter->channel = channel;
return (RsvgNode *) filter;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]