summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2007-03-08 01:03:13 +0000
committerDana Jansens <danakj@orodu.net>2007-03-08 01:03:13 +0000
commitb37a8b7e764c770e5b913116a2e3330b23ff4f67 (patch)
tree59a447aff8bb220cc4133582bd215a4490d601c0
parenta79651294c54a784b34c85e3832e8c7ca4f3aa17 (diff)
Fix possible crashingness, from last commit.
-rw-r--r--render/render.c12
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;