summaryrefslogtreecommitdiff
path: root/render
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2007-06-05 20:37:10 +0000
committerDana Jansens <danakj@orodu.net>2007-06-05 20:37:10 +0000
commit0ba396fea03de6181a0eea737d24c6bf2190dde9 (patch)
tree6d77fd07e5ea23c3eee506d469a3f08ea4aa81a5 /render
parent6e575967759943b4e9215c1842206b6db51c791d (diff)
fix parentrel bevels
Diffstat (limited to 'render')
-rw-r--r--render/gradient.c14
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 {