All pastes #739809 Raw Edit

Stuff

public text v1 · immutable
·published 2007-10-17 14:23 UTC
rendered paste body
diff --git a/plugins/cube.c b/plugins/cube.c
index 3292248..92e035d 100644
--- a/plugins/cube.c
+++ b/plugins/cube.c
@@ -1693,13 +1693,13 @@ 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;
+    numBg = cs->opt[CUBE_SCREEN_OPTION_BACKGROUNDS].value.list.nValue;
     if (n)
     {
 	CompTexture *bg;
@@ -1707,6 +1707,7 @@ cubePaintBackground (CompScreen   *s,
 	BoxPtr      pBox = region->rects;
 	int	    nBox = region->numRects;
 	GLfloat     *d, *data;
+	int         n;
 
 	if (!nBox)
 	{
@@ -1714,7 +1715,9 @@ cubePaintBackground (CompScreen   *s,
 	    return;
 	}
 
-	n = (s->x * cs->nOutput + cs->srcOutput) % n;
+	n = s->x - (s->windowOffsetX / s->width);
+	n = (n * cs->nOutput + cs->srcOutput) % numBg;
+	while (n < 0) n += numBg;
 
 	if (s->desktopWindowCount)
 	{