diff options
| author | Ted Janeczko <janeczko.ted@gmail.com> | 2013-02-01 18:09:32 +0000 |
|---|---|---|
| committer | ~suv <suv-sf@users.sourceforge.net> | 2013-02-01 18:09:32 +0000 |
| commit | 5207a0b3c1c4a4dbb6c7432ad55817fc1e7ed08d (patch) | |
| tree | 34c53b66a9f66ae1d01f2ee222f0fe8799bfcde8 /src | |
| parent | Fix for 1091582 : Problem when entering space in text after space tool toggling. (diff) | |
| download | inkscape-5207a0b3c1c4a4dbb6c7432ad55817fc1e7ed08d.tar.gz inkscape-5207a0b3c1c4a4dbb6c7432ad55817fc1e7ed08d.zip | |
Fix for Bug #1110397: Opacity of clipped group is ignored (regression)
Fixed bugs:
- https://launchpad.net/bugs/1110397
(bzr r12086)
Diffstat (limited to 'src')
| -rw-r--r-- | src/display/drawing-item.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/display/drawing-item.cpp b/src/display/drawing-item.cpp index 1e6e44d6f..80664d822 100644 --- a/src/display/drawing-item.cpp +++ b/src/display/drawing-item.cpp @@ -550,10 +550,12 @@ DrawingItem::render(DrawingContext &ct, Geom::IntRect const &area, unsigned flag // for overlapping clip children. To fix this we use the SOURCE operator // instead of the default OVER. ict.setOperator(CAIRO_OPERATOR_SOURCE); + ict.paint(); if (_clip) { + ict.pushGroup(); _clip->clip(ict, *carea); // fixme: carea or area? - } else { - // if there is no clipping path, fill the entire surface with alpha = opacity. + ict.popGroupToSource(); + ict.setOperator(CAIRO_OPERATOR_IN); ict.paint(); } ict.setOperator(CAIRO_OPERATOR_OVER); // reset back to default |
