GTK+-2.7.0 revisited...



I have GTK+-2.7.0 running.

* downloaded the latest source for Xorg-6.8.2 from CVS

    [from the Changelog]
        2005-06-26  Alan Coopersmith  <alan coopersmith sun com>
        
                * config/cf/sun.cf:
                      Set HasLibpng defaults correctly for various Solaris releases


* applied the xserver patch referenced in

          http://bugzilla.gnome.org/show_bug.cgi?id=306216

* built and installed Xorg-6.8.2 under /opt/Xorg-6.8.2

        http://xorg.freedesktop.org/wiki/CvsPage#head-f76fe9878bbeadc8b6541cf7e23bdb14ad876d2d

* cairo-0.5.1 and libpixman-0.1.5 previously installed
[hmmm... maybe should have rebuilt these???]

* built pango-1.9.0

* uninstalled pango-1.8.1

* installed pango-1.9.0

* built GTK+-2.7.0

* uninstalled GTK+-2.6.8

* install GTK+-2.7.0

* restart X

The desktop comes up. Things seem to work. None of the weirdness
reported in bug # 306216.  

The only oddity is the background color shifted dramatically towards
purple.

Virtual terminal switching under Xorg-6.8.2 is broken on my system.  If
anyone knows of a work-around kindly let me know.


-Joseph


-- 
joseph_sacco [at] comcast [dot] net
? fb/Makefile
Index: fb/fbpict.c
===================================================================
RCS file: /cvs/xorg/xc/programs/Xserver/fb/fbpict.c,v
retrieving revision 1.13
diff -u -p -r1.13 fbpict.c
--- fb/fbpict.c	13 Jun 2005 14:40:25 -0000	1.13
+++ fb/fbpict.c	17 Jun 2005 20:49:33 -0000
@@ -1250,30 +1250,34 @@ fbComposite (CARD8      op,
 	    x_dst = pbox->x1;
 	    if (maskRepeat)
 	    {
-		y_msk = mod (y_msk, pMask->pDrawable->height);
+		y_msk = mod (y_msk - pMask->pDrawable->y, pMask->pDrawable->height);
 		if (h_this > pMask->pDrawable->height - y_msk)
 		    h_this = pMask->pDrawable->height - y_msk;
+		y_msk += pMask->pDrawable->y;
 	    }
 	    if (srcRepeat)
 	    {
-		y_src = mod (y_src, pSrc->pDrawable->height);
+		y_src = mod (y_src - pSrc->pDrawable->y, pSrc->pDrawable->height);
 		if (h_this > pSrc->pDrawable->height - y_src)
 		    h_this = pSrc->pDrawable->height - y_src;
+		y_src += pSrc->pDrawable->y;
 	    }
 	    while (w)
 	    {
 		w_this = w;
 		if (maskRepeat)
 		{
-		    x_msk = mod (x_msk, pMask->pDrawable->width);
+		    x_msk = mod (x_msk - pMask->pDrawable->x, pMask->pDrawable->width);
 		    if (w_this > pMask->pDrawable->width - x_msk)
 			w_this = pMask->pDrawable->width - x_msk;
+		    x_msk += pMask->pDrawable->x;
 		}
 		if (srcRepeat)
 		{
-		    x_src = mod (x_src, pSrc->pDrawable->width);
+		    x_src = mod (x_src - pSrc->pDrawable->x, pSrc->pDrawable->width);
 		    if (w_this > pSrc->pDrawable->width - x_src)
 			w_this = pSrc->pDrawable->width - x_src;
+		    x_src += pSrc->pDrawable->x;
 		}
 		(*func) (op, pSrc, pMask, pDst,
 			 x_src, y_src, x_msk, y_msk, x_dst, y_dst,


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]