Fix possible crashingness, from last commit.
authorDana Jansens <danakj@orodu.net>
Thu, 8 Mar 2007 01:03:13 +0000 (01:03 +0000)
committerDana Jansens <danakj@orodu.net>
Thu, 8 Mar 2007 01:03:13 +0000 (01:03 +0000)
render/render.c

index df47d6d..a112057 100644 (file)
@@ -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;