diff options
| author | Dana Jansens <danakj@orodu.net> | 2007-03-08 01:03:13 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2007-03-08 01:03:13 +0000 |
| commit | b37a8b7e764c770e5b913116a2e3330b23ff4f67 (patch) | |
| tree | 59a447aff8bb220cc4133582bd215a4490d601c0 /render | |
| parent | a79651294c54a784b34c85e3832e8c7ca4f3aa17 (diff) | |
Fix possible crashingness, from last commit.
Diffstat (limited to 'render')
| -rw-r--r-- | render/render.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/render/render.c b/render/render.c index df47d6db..a1120570 100644 --- a/render/render.c +++ b/render/render.c @@ -52,6 +52,14 @@ Pixmap RrPaintPixmap(RrAppearance *a, gint w, gint h) /* ob_debug("Invalid parent co-ordinates\n"); */ return None; } + + if (a->surface.grad == RR_SURFACE_PARENTREL && + (a->surface.parentx >= a->surface.parent->w || + a->surface.parenty >= a->surface.parent->h)) + { + return None; + } + resized = (a->w != w || a->h != h); oldp = a->pixmap; /* save to free after changing the visible pixmap */ @@ -79,10 +87,6 @@ Pixmap RrPaintPixmap(RrAppearance *a, gint w, gint h) sw = a->surface.parent->w; sh = a->surface.parent->h; - if (a->surface.parentx >= sw || a->surface.parenty >= sh) { - return oldp; - } - source = (a->surface.parent->surface.pixel_data + a->surface.parentx + sw * a->surface.parenty); dest = a->surface.pixel_data; |
