trunk: opacity of clipped group is ignored (regression)

Bug #1110397 reported by su_v on 2013-01-30
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Inkscape
Medium
Ted Janeczko

Bug Description

Follow-up report to
Bug #1067271 “Stacked clip paths do not work when grouped with other objects”

Steps to reproduce:
1) launch inkscape with default prefs
2) create a group with a few objects
3) draw a clip-path on top of the group
4) reduce the opacity of the group (e.g. to 50%)
5) select all, and set clip

Expected result:
The visible part of the clipped group is rendered with reduced opacity (50%)

Actual result:
The visible part of the clipped group is rendered with 100% opacity, ignoring the style property of the group.

Alternative steps to reproduce:
1) launch inkscape with default prefs
2) create a group with a few objects
3) draw a clip-path on top of the group
4) select all, and set clip
5) reduce the opacity of the clipped group (e.g. to 50%)

Tested on OS X 10.7.4:
- Not reproduced with Inkscape 0.48.4, 0.48+devel <= r11942
- Reproduced with Inkscape 0.48+devel >= r11943
Tested on Ubuntu 12.10:
- Not reproduced with Inkscape 0.48.3.1
- Reproduced with Inkscape 0.48+devel r12072

The regression seems to have been introduced with the fix for bug #1067271:
<http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/revision/11943>

Originally reported by Cheeseness on #inkscape irc channel.

su_v (suv-lp) on 2013-01-30
Changed in inkscape:
milestone: none → 0.49
Ted Janeczko (janeczko-ted) wrote :

Eep, seems like my original patch caused this issue... Here's a patch that'll fix it!

Basically my original patch made the clipping path mask completely opaque, when it should have the alpha of the group. This preserves the complete opaqueness of the clip mask, but unfortunately removes the opacity of the group. To fix this, the entire buffer with the opacity (exactly what would happen without a clip), then I pushed the clip mask to a new cairo buffer and used it as a source. I then paint this buffer over the base using the "IN" operator.

Changed in inkscape:
assignee: nobody → Ted Janeczko (janeczko-ted)
su_v (suv-lp) on 2013-01-31
Changed in inkscape:
status: New → In Progress
importance: Undecided → Medium
su_v (suv-lp) wrote :

@Ted - thanks for the quick response and the patch!

Quick initial tests (based on the 'steps to reproduce') with Inkscape 0.48+devel r12077+'inkscape.patch' confirm the fix (OS X 10.7.4, GTK+/X11 + cairo 1.12.2, GTK+/Quartz + cairo 1.12.10), but I haven't tested with older files for any possible side-effects.

ScislaC (scislac) wrote :

Seems okay in my testing (I tried on a few older files). I won't have an opportunity to commit this soon, but will do so if no one else gets to it first. :)

su_v (suv-lp) wrote :

Fix committed in r12086

Changed in inkscape:
milestone: 0.49 → none
status: In Progress → Fix Released
tags: removed: blocker
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers