feImage filter not updating filtered region when referenced object changes

Bug #195314 reported by Felipe "Juca" Sanches
4
Affects Status Importance Assigned to Milestone
Inkscape
Fix Released
Undecided
Felipe "Juca" Sanches

Bug Description

The feature was introduced in revision 17484
http://inkscape.svn.sourceforge.net/viewvc/inkscape?view=rev&revision=17484

It renders ok, but when you edit the referenced object, the filtered object does not get updated. It is only updated when you indirectly induce an update. (i.e. by manipulating it).

steps to reproduce:

* create a star
* create a square
* open filter effects dialog
* create a new filter
* add an Image filter primitive
* select the star
* click on "Selected SVG Element"
* select the square
* apply the filter to the square

You will see that the filter correctly renders the star in the square object.

* edit the star

you wont see the filtered object change until you induce a render update.

* drag the filtered object to update it on canvas.

There must be a way to invoke the renderer on the filtered object when the referenced object is edited.

Tags: filters-svg
Changed in inkscape:
assignee: nobody → felipe-sanches
Revision history for this message
Felipe "Juca" Sanches (felipe-sanches) wrote :

This patch is intended to fix this bug. My doubt is how to update the filtered object display.

I tried to use obj->requestDisplayUpdate(SP_OBJECT_MODIFIED_FLAG); but it seems to not work.

Changed in inkscape:
status: New → In Progress
Revision history for this message
Niko Kiirala (kiirala) wrote : Re: [Bug 195314] Re: feImage filter not updating filtered region when referenced object changes

Mon, 25 Feb 2008 08:27:23 -0000
"Felipe \"Juca\" Sanches" <email address hidden> kirjoitti:

> This patch is intended to fix this bug. My doubt is how to update the
> filtered object display.
>
> I tried to use obj->requestDisplayUpdate(SP_OBJECT_MODIFIED_FLAG);
> but it seems to not work.

The rest of filter primitives use
filter_primitive->parent->requestModified(SP_OBJECT_MODIFIED_FLAG);
I believe, it would work here, too.

(that is, a filter primitive requests update for it's parent element,
which should be svg:filter, which results in all styles using that
filter to receive the modified signal)

Changed in inkscape:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.