All pastes #739823 Raw Edit

Untitled

public text v1 · immutable
·published 2007-10-17 14:35 UTC
rendered paste body
diff --git a/plugins/cube.c b/plugins/cube.c
index 3292248..08078cf 100644
--- a/plugins/cube.c
+++ b/plugins/cube.c
@@ -1693,20 +1693,21 @@ cubePaintBackground (CompScreen   *s,
                     Region       region,
                     unsigned int mask)
 {
-    int n;
+    int numBg;

     CUBE_SCREEN (s);

     cubeSetBackgroundOpacity (s);

-    n = cs->opt[CUBE_SCREEN_OPTION_BACKGROUNDS].value.list.nValue;
-    if (n)
+    numBg = cs->opt[CUBE_SCREEN_OPTION_BACKGROUNDS].value.list.nValue;
+    if (numBg)
     {
        CompTexture *bg;
        CompMatrix  matrix;
        BoxPtr      pBox = region->rects;
        int         nBox = region->numRects;
        GLfloat     *d, *data;
+       int         n;

        if (!nBox)
        {
@@ -1714,7 +1715,10 @@ cubePaintBackground (CompScreen   *s,
            return;
        }

-       n = (s->x * cs->nOutput + cs->srcOutput) % n;
+       n = s->x - (s->windowOffsetX / s->width);
+       n %= s->hsize;
+       if (n < 0) n += s->hsize;
+       n = (n * cs->nOutput + cs->srcOutput) % numBg;

        if (s->desktopWindowCount)
        {