diff options
| author | Dana Jansens <danakj@orodu.net> | 2007-06-05 20:37:10 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2007-06-05 20:37:10 +0000 |
| commit | 0ba396fea03de6181a0eea737d24c6bf2190dde9 (patch) | |
| tree | 6d77fd07e5ea23c3eee506d469a3f08ea4aa81a5 | |
| parent | 6e575967759943b4e9215c1842206b6db51c791d (diff) | |
fix parentrel bevels
| -rw-r--r-- | render/gradient.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/render/gradient.c b/render/gradient.c index 3d81d5d6..d32d9c81 100644 --- a/render/gradient.c +++ b/render/gradient.c @@ -210,18 +210,20 @@ static void gradient_parentrelative(RrAppearance *a, gint w, gint h) of the parent's, amplifying it. So instead, rerender the child with the parent's settings, but the child's bevel and interlace */ if (a->surface.relief != RR_RELIEF_FLAT && + (a->surface.parent->surface.relief != RR_RELIEF_FLAT || + a->surface.parent->surface.border) && !a->surface.parentx && !a->surface.parenty && sw == w && sh == h) { RrSurface old = a->surface; a->surface = a->surface.parent->surface; - a->surface.relief = old.relief; - a->surface.bevel = old.bevel; + + /* turn these off for the parent */ + a->surface.relief = RR_RELIEF_FLAT; + a->surface.border = FALSE; + a->surface.pixel_data = old.pixel_data; - if (old.interlaced) { - a->surface.interlaced = TRUE; - a->surface.interlace_color = old.interlace_color; - } + RrRender(a, w, h); a->surface = old; } else { |
