]> Dogcows Code - chaz/openbox/blobdiff - render/mask.c
revert my commit of d3th, it fucked up focus badly
[chaz/openbox] / render / mask.c
index 60e89d489bf8f4718ad18bb1373110525cc1c3f7..d1659ffbb74cba66dec1f8419e9cd4ae5067f960 100644 (file)
@@ -10,7 +10,7 @@ RrPixmapMask *RrPixmapMaskNew(const RrInstance *inst,
     m->width = w;
     m->height = h;
     /* round up to nearest byte */
-    m->data = g_memdup(data, (w * h + 7) / 8);
+    m->data = g_memdup(data, (w + 7) / 8 * h);
     m->mask = XCreateBitmapFromData(RrDisplay(inst), RrRootWindow(inst),
                                     data, w, h);
     return m;
@@ -37,16 +37,16 @@ void RrPixmapMaskDraw(Pixmap p, const RrTextureMask *m, const RrRect *area)
     if (x < 0) x = 0;
     if (y < 0) y = 0;
 
-    XSetClipMask(RrDisplay(m->mask->inst), m->color->gc, m->mask->mask);
-    XSetClipOrigin(RrDisplay(m->mask->inst), m->color->gc, x, y);
+    XSetClipMask(RrDisplay(m->mask->inst), RrColorGC(m->color), m->mask->mask);
+    XSetClipOrigin(RrDisplay(m->mask->inst), RrColorGC(m->color), x, y);
 
     /* fill in the clipped region */
-    XFillRectangle(RrDisplay(m->mask->inst), p, m->color->gc, x, y,
+    XFillRectangle(RrDisplay(m->mask->inst), p, RrColorGC(m->color), x, y,
                    x + m->mask->width, y + m->mask->height);
 
     /* unset the clip region */
-    XSetClipMask(RrDisplay(m->mask->inst), m->color->gc, None);
-    XSetClipOrigin(RrDisplay(m->mask->inst), m->color->gc, 0, 0);
+    XSetClipMask(RrDisplay(m->mask->inst), RrColorGC(m->color), None);
+    XSetClipOrigin(RrDisplay(m->mask->inst), RrColorGC(m->color), 0, 0);
 }
 
 RrPixmapMask *RrPixmapMaskCopy(const RrPixmapMask *src)
@@ -56,7 +56,7 @@ RrPixmapMask *RrPixmapMaskCopy(const RrPixmapMask *src)
     m->width = src->width;
     m->height = src->height;
     /* round up to nearest byte */
-    m->data = g_memdup(src->data, (src->width * src->height + 7) / 8);
+    m->data = g_memdup(src->data, (src->width + 7) / 8 * src->height);
     m->mask = XCreateBitmapFromData(RrDisplay(m->inst), RrRootWindow(m->inst),
                                     m->data, m->width, m->height);
     return m;
This page took 0.025677 seconds and 4 git commands to generate.