rpms/vnc/devel vnc-render.patch, 1.19, 1.20 vnc-s390.patch, 1.3, 1.4 vnc.spec, 1.172, 1.173 vnc-module_crash.patch, 1.1, NONE

Adam Tkac (atkac) fedora-extras-commits at redhat.com
Fri Jun 8 11:46:44 UTC 2007


Author: atkac

Update of /cvs/pkgs/rpms/vnc/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv17923

Modified Files:
	vnc-render.patch vnc-s390.patch vnc.spec 
Removed Files:
	vnc-module_crash.patch 
Log Message:
- added 24bit support to Xvnc (#242277)
- handle RENDER extension better
  (+ moved module_crash patch into render patch)
- updated s390 patch to latest xorg



vnc-render.patch:

Index: vnc-render.patch
===================================================================
RCS file: /cvs/pkgs/rpms/vnc/devel/vnc-render.patch,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- vnc-render.patch	2 Mar 2007 15:33:54 -0000	1.19
+++ vnc-render.patch	8 Jun 2007 11:46:09 -0000	1.20
@@ -1,6 +1,17 @@
---- vnc-4_1_2-unixsrc/unix/xc/programs/Xserver/vnc/vncHooks.cc.render	2006-05-15 18:56:20.000000000 +0200
-+++ vnc-4_1_2-unixsrc/unix/xc/programs/Xserver/vnc/vncHooks.cc	2007-03-02 15:56:06.000000000 +0100
-@@ -29,6 +29,9 @@
+--- vnc-4_1_2-unixsrc/unix/xc/programs/Xserver/vnc/vncHooks.cc.render	2007-06-07 15:50:16.000000000 +0200
++++ vnc-4_1_2-unixsrc/unix/xc/programs/Xserver/vnc/vncHooks.cc	2007-06-07 15:57:54.000000000 +0200
+@@ -20,6 +20,10 @@
+ #include "XserverDesktop.h"
+ #include "vncHooks.h"
+ 
++#ifdef HAVE_DIX_CONFIG_H
++#include <dix-config.h>
++#endif
++
+ extern "C" {
+ #define class c_class
+ #define private c_private
+@@ -29,6 +33,9 @@ extern "C" {
  #include "regionstr.h"
  #include "dixfontstr.h"
  #include "colormapst.h"
@@ -10,98 +21,134 @@
  
  #ifdef GC_HAS_COMPOSITE_CLIP
  #define COMPOSITE_CLIP(gc) ((gc)->pCompositeClip)
-@@ -74,6 +77,9 @@
+@@ -74,6 +81,10 @@ typedef struct {
    StoreColorsProcPtr           StoreColors;
    DisplayCursorProcPtr         DisplayCursor;
    ScreenBlockHandlerProcPtr    BlockHandler;
 +#ifdef RENDER
 +  CompositeProcPtr             Composite;
++  GlyphsProcPtr                Glyphs;
 +#endif
  } vncHooksScreenRec, *vncHooksScreenPtr;
  
  typedef struct {
-@@ -104,6 +110,13 @@
- static Bool vncHooksDisplayCursor(ScreenPtr pScreen, CursorPtr cursor);
+@@ -105,6 +116,15 @@ static Bool vncHooksDisplayCursor(Screen
  static void vncHooksBlockHandler(int i, pointer blockData, pointer pTimeout,
                                   pointer pReadmask);
-+#ifdef RENDER
-+static void vncHooksComposite(CARD8 op, PicturePtr pSrc, PicturePtr pMask,
-+                              PicturePtr pDst, INT16 xSrc, INT16 ySrc,
-+                              INT16 xMask, INT16 yMask, INT16 xDst, INT16 yDst,
-+                              CARD16 width, CARD16 height);
-+#endif
-+
  
++// RENDER support
++static void vncHooksComposite(CARD8 op, PicturePtr pSrc, PicturePtr pMask, PicturePtr pDst,
++                              INT16 xSrc, INT16 ySrc, INT16 xMask, INT16 yMask,
++                              INT16 xDst, INT16 yDst, CARD16 width, CARD16 height);
++
++static void vncHooksGlyphs(CARD8 op, PicturePtr pSrc, PicturePtr pDst,
++                           PictFormatPtr maskFormat, INT16 xSrc, INT16 ySrc, int nlist,
++                           GlyphListPtr list, GlyphPtr *glyphs);
++
  // GC "funcs"
  
-@@ -229,6 +242,13 @@
-   vncHooksScreen->StoreColors = pScreen->StoreColors;
+ static void vncHooksValidateGC(GCPtr pGC, unsigned long changes,
+@@ -230,6 +250,16 @@ Bool vncHooksInit(ScreenPtr pScreen, Xse
    vncHooksScreen->DisplayCursor = pScreen->DisplayCursor;
    vncHooksScreen->BlockHandler = pScreen->BlockHandler;
+ 
 +#ifdef RENDER
-+  PictureScreenPtr ps;
-+  ps = GetPictureScreenIfSet(pScreen);
++  PictureScreenPtr    ps = GetPictureScreenIfSet(pScreen);
 +  if (ps) {
 +    vncHooksScreen->Composite = ps->Composite;
++    vncHooksScreen->Glyphs = ps->Glyphs;
++    ps->Composite = vncHooksComposite;
++    ps->Glyphs = vncHooksGlyphs;
 +  }
 +#endif
- 
++
    pScreen->CloseScreen = vncHooksCloseScreen;
    pScreen->CreateGC = vncHooksCreateGC;
-@@ -241,6 +261,11 @@
-   pScreen->StoreColors = vncHooksStoreColors;
-   pScreen->DisplayCursor = vncHooksDisplayCursor;
-   pScreen->BlockHandler = vncHooksBlockHandler;
-+#ifdef RENDER
-+  if (ps) {
-+    ps->Composite = vncHooksComposite;
-+  }
-+#endif
+   pScreen->PaintWindowBackground = vncHooksPaintWindowBackground;
+@@ -1473,3 +1503,80 @@ static void vncHooksPushPixels(GCPtr pGC
  
-   return TRUE;
+   vncHooksScreen->desktop->add_changed(changed.reg);
  }
-@@ -470,6 +495,38 @@
-   SCREEN_REWRAP(BlockHandler);
- }
- 
-+// Composite - needed for RENDER
 +
 +#ifdef RENDER
-+void vncHooksComposite(CARD8 op, PicturePtr pSrc, PicturePtr pMask,
-+                      PicturePtr pDst, INT16 xSrc, INT16 ySrc, INT16 xMask,
-+                      INT16 yMask, INT16 xDst, INT16 yDst, CARD16 width,
-+                      CARD16 height)
-+{
-+  ScreenPtr pScreen = pDst->pDrawable->pScreen;
-+  vncHooksScreenPtr vncHooksScreen = \
-+    ((vncHooksScreenPtr)pScreen->devPrivates[vncHooksScreenIndex].ptr);
-+  BoxRec box;
-+  PictureScreenPtr ps = GetPictureScreen(pScreen);
-+
-+  if ((xDst >= 0) && (yDst >= 0)) {
-+      box.x1 = pDst->pDrawable->x + xDst;
-+      box.y1 = pDst->pDrawable->y + yDst;
-+      box.x2 = box.x1 + width;
-+      box.y2 = box.y1 + height;
++#define RENDER_MAKE_BOX(pDrawable,X,Y,W,H) { \
++    box.x1 = X + pDrawable->x; \
++    box.x2 = X + pDrawable->x + W; \
++    box.y1 = Y + pDrawable->y; \
++    box.y2 = Y + pDrawable->y + H; \
++}
 +
-+      RegionHelper changed(pScreen, &box, 0);
-+      vncHooksScreen->desktop->add_changed(changed.reg);
-+  }
++static void vncHooksComposite(CARD8 op, PicturePtr pSrc, PicturePtr pMask, PicturePtr pDst,
++                              INT16 xSrc, INT16 ySrc, INT16 xMask, INT16 yMask,
++                              INT16 xDst, INT16 yDst, CARD16 width, CARD16 height)
++{
++    ScreenPtr           pScreen = pDst->pDrawable->pScreen;
++    vncHooksScreenPtr vncHooksScreen = \
++        ((vncHooksScreenPtr)pScreen->devPrivates[vncHooksScreenIndex].ptr);
++    PictureScreenPtr    ps = GetPictureScreen(pScreen);
++    BoxRec              box;
++
++    ps->Composite = vncHooksScreen->Composite;
++    (*ps->Composite)(op, pSrc, pMask, pDst, xSrc, ySrc,
++                     xMask, yMask, xDst, yDst, width, height);
++    ps->Composite = vncHooksComposite;
 +
-+  ps->Composite = vncHooksScreen->Composite;
-+  (*ps->Composite)(op, pSrc, pMask, pDst, xSrc, ySrc,
-+                   xMask, yMask, xDst, yDst, width, height);
-+  ps->Composite = vncHooksComposite;
++    if (pDst->pDrawable->type == DRAWABLE_WINDOW) {
++        RENDER_MAKE_BOX(pDst->pDrawable, xDst, yDst, width, height);
++        RegionHelper changed(pScreen, &box, 0);
++        vncHooksScreen->desktop->add_changed(changed.reg);
++    }
 +}
 +
-+#endif /* RENDER */
 +
- 
- 
- /////////////////////////////////////////////////////////////////////////////
---- vnc-4_1_2-unixsrc/unix/xc/programs/Xserver/vnc/Xvnc/xvnc.cc.render	2007-03-02 15:56:06.000000000 +0100
-+++ vnc-4_1_2-unixsrc/unix/xc/programs/Xserver/vnc/Xvnc/xvnc.cc	2007-03-02 15:56:37.000000000 +0100
-@@ -130,6 +130,7 @@
++static void vncHooksGlyphs(CARD8 op, PicturePtr pSrc, PicturePtr pDst,
++                           PictFormatPtr maskFormat, INT16 xSrc, INT16 ySrc, int nlist,
++                           GlyphListPtr list, GlyphPtr *glyphs)
++{
++    ScreenPtr           pScreen = pDst->pDrawable->pScreen;
++    vncHooksScreenPtr vncHooksScreen = \
++        ((vncHooksScreenPtr)pScreen->devPrivates[vncHooksScreenIndex].ptr);
++    PictureScreenPtr    ps = GetPictureScreen(pScreen);
++    int                 x, y;
++    int                 n;
++    GlyphPtr            glyph;
++    BoxRec              box;
++
++    ps->Glyphs = vncHooksScreen->Glyphs;
++    (*ps->Glyphs) (op, pSrc, pDst, maskFormat, xSrc, ySrc,
++                   nlist, list, glyphs);
++    ps->Glyphs = vncHooksGlyphs;
++
++    if (pDst->pDrawable->type == DRAWABLE_WINDOW)
++    {
++        x = xSrc;
++        y = ySrc;
++        while (nlist--)
++        {
++            x += list->xOff;
++            y += list->yOff;
++            n = list->len;
++            while (n--)
++            {
++                glyph = *glyphs++;
++                RENDER_MAKE_BOX(pDst->pDrawable,
++                                x - glyph->info.x, y - glyph->info.y,
++                                glyph->info.width, glyph->info.height);
++                RegionHelper changed(pScreen, &box, 0);
++                vncHooksScreen->desktop->add_changed(changed.reg);
++
++                x += glyph->info.xOff;
++                y += glyph->info.yOff;
++            }
++            list++;
++        }
++    }
++}
++#endif
++
+--- vnc-4_1_2-unixsrc/unix/xc/programs/Xserver/vnc/Xvnc/xvnc.cc.render	2007-06-07 15:49:32.000000000 +0200
++++ vnc-4_1_2-unixsrc/unix/xc/programs/Xserver/vnc/Xvnc/xvnc.cc	2007-06-07 15:49:32.000000000 +0200
+@@ -130,6 +130,7 @@ static vfbScreenInfo vfbScreens[MAXSCREE
  static Bool vfbPixmapDepths[33];
  static char needswap = 0;
  static int lastScreen = -1;
@@ -109,7 +156,7 @@
  
  static bool displaySpecified = false;
  static bool wellKnownSocketsCreated = false;
-@@ -221,6 +222,10 @@
+@@ -221,6 +222,10 @@ extern "C" {
             VENDOR_STRING);
      ErrorF("-screen scrn WxHxD     set screen's width, height, depth\n");
      ErrorF("-pixdepths list-of-int support given pixmap depths\n");
@@ -120,7 +167,7 @@
      ErrorF("-linebias n            adjust thin line pixelization\n");
      ErrorF("-blackpixel n          pixel value for black\n");
      ErrorF("-whitepixel n          pixel value for white\n");
-@@ -317,6 +322,20 @@
+@@ -317,6 +322,20 @@ int ddxProcessArgument(int argc, char *a
      return ret;
    }
  
@@ -141,7 +188,7 @@
    if (strcmp (argv[i], "-blackpixel") == 0)	/* -blackpixel n */
    {
      Pixel pix;
-@@ -817,7 +836,12 @@
+@@ -817,7 +836,12 @@ static Bool vfbScreenInit(int index, Scr
    if (!fbScreenInit(pScreen, pbits, pvfb->width, pvfb->height,
                      dpi, dpi, pvfb->paddedWidth, pvfb->bitsPerPixel))
        return FALSE;
@@ -155,7 +202,7 @@
    switch (pvfb->bitsPerPixel)
    {
    case 1:
-@@ -938,6 +962,19 @@
+@@ -938,6 +962,19 @@ void InitOutput(ScreenInfo *screenInfo, 
      vfbPixmapDepths[vfbScreens[i].depth] = TRUE;
    }
  

vnc-s390.patch:

Index: vnc-s390.patch
===================================================================
RCS file: /cvs/pkgs/rpms/vnc/devel/vnc-s390.patch,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- vnc-s390.patch	2 Mar 2007 15:33:54 -0000	1.3
+++ vnc-s390.patch	8 Jun 2007 11:46:09 -0000	1.4
@@ -1,6 +1,6 @@
---- vnc-4_1_2-unixsrc/unix/xorg-x11-server-source/hw/xfree86/int10/Makefile.am.s390	2007-03-01 12:22:04.000000000 +0100
-+++ vnc-4_1_2-unixsrc/unix/xorg-x11-server-source/hw/xfree86/int10/Makefile.am	2007-03-01 12:34:20.000000000 +0100
-@@ -38,7 +38,8 @@
+--- vnc-4_1_2-unixsrc/unix/xorg-x11-server-source/hw/xfree86/int10/Makefile.am.s390	2007-06-06 15:00:23.000000000 +0200
++++ vnc-4_1_2-unixsrc/unix/xorg-x11-server-source/hw/xfree86/int10/Makefile.am	2007-06-06 15:00:26.000000000 +0200
+@@ -38,7 +38,8 @@ libint10_la_SOURCES = \
  endif
  
  if INT10_STUB
@@ -10,9 +10,9 @@
  libint10_la_SOURCES = stub.c xf86int10module.c
  endif
  
---- vnc-4_1_2-unixsrc/unix/xorg-x11-server-source/hw/xfree86/common/compiler.h.s390	2007-03-01 12:22:04.000000000 +0100
-+++ vnc-4_1_2-unixsrc/unix/xorg-x11-server-source/hw/xfree86/common/compiler.h	2007-03-01 12:22:04.000000000 +0100
-@@ -1353,6 +1353,15 @@
+--- vnc-4_1_2-unixsrc/unix/xorg-x11-server-source/hw/xfree86/common/compiler.h.s390	2007-06-06 15:00:24.000000000 +0200
++++ vnc-4_1_2-unixsrc/unix/xorg-x11-server-source/hw/xfree86/common/compiler.h	2007-06-06 15:00:26.000000000 +0200
+@@ -1353,6 +1353,15 @@ do {									\
      : "0" (_beg), "r" (_end), "r" (_flg));				\
  } while (0)
  
@@ -28,9 +28,9 @@
  #   else /* ix86 */
  
  #    define ldq_u(p)	(*((unsigned long  *)(p)))
---- vnc-4_1_2-unixsrc/unix/xorg-x11-server-source/hw/xfree86/common/xf86Helper.c.s390	2007-03-01 12:22:04.000000000 +0100
-+++ vnc-4_1_2-unixsrc/unix/xorg-x11-server-source/hw/xfree86/common/xf86Helper.c	2007-03-01 12:22:04.000000000 +0100
-@@ -2089,6 +2089,7 @@
+--- vnc-4_1_2-unixsrc/unix/xorg-x11-server-source/hw/xfree86/common/xf86Helper.c.s390	2007-06-06 15:00:24.000000000 +0200
++++ vnc-4_1_2-unixsrc/unix/xorg-x11-server-source/hw/xfree86/common/xf86Helper.c	2007-06-06 15:00:26.000000000 +0200
+@@ -2089,6 +2089,7 @@ xf86GetClocks(ScrnInfoPtr pScrn, int num
  	      void (*BlankScreen)(ScrnInfoPtr, Bool), IOADDRESS vertsyncreg,
  	      int maskval, int knownclkindex, int knownclkvalue)
  {
@@ -38,7 +38,7 @@
      register int status = vertsyncreg;
      unsigned long i, cnt, rcnt, sync;
  
-@@ -2182,6 +2183,7 @@
+@@ -2182,6 +2183,7 @@ finish:
  
      /* Restore registers that were written on */
      (*ClockFunc)(pScrn, CLK_REG_RESTORE);
@@ -46,36 +46,26 @@
  }
  
  _X_EXPORT void
---- vnc-4_1_2-unixsrc/unix/xorg-x11-server-source/hw/xfree86/os-support/linux/lnx_video.c.s390	2007-03-01 12:22:04.000000000 +0100
-+++ vnc-4_1_2-unixsrc/unix/xorg-x11-server-source/hw/xfree86/os-support/linux/lnx_video.c	2007-03-01 12:29:36.000000000 +0100
-@@ -62,7 +62,8 @@
- #elif !defined(__powerpc__) && \
+--- vnc-4_1_2-unixsrc/unix/xorg-x11-server-source/hw/xfree86/os-support/linux/lnx_video.c.s390	2007-06-06 15:00:24.000000000 +0200
++++ vnc-4_1_2-unixsrc/unix/xorg-x11-server-source/hw/xfree86/os-support/linux/lnx_video.c	2007-06-06 15:03:10.000000000 +0200
+@@ -63,7 +63,8 @@ static Bool ExtendedEnabled = FALSE;
        !defined(__mc68000__) && \
        !defined(__sparc__) && \
--      !defined(__mips__)
-+      !defined(__mips__) && \
-+      !defined(__s390__)
+       !defined(__mips__) && \
+-      !defined(__arm__)
++      !defined(__arm__) && \
++      !defined(__s390)
  
  /*
   * Due to conflicts with "compiler.h", don't rely on <sys/io.h> to declare
-@@ -567,7 +568,7 @@
- #endif
- 	}
- 	close(fd);
--#elif !defined(__mc68000__) && !defined(__sparc__) && !defined(__mips__) && !defined(__sh__) && !defined(__hppa__)
-+#elif !defined(__mc68000__) && !defined(__sparc__) && !defined(__mips__) && !defined(__sh__) && !defined(__hppa__) && !defined(__s390__)
-         if (ioperm(0, 1024, 1) || iopl(3)) {
-                 if (errno == ENODEV)
-                         ErrorF("xf86EnableIOPorts: no I/O ports found\n");
---- vnc-4_1_2-unixsrc/unix/xorg-x11-server-source/hw/xfree86/os-support/misc/SlowBcopy.c.s390	2007-03-01 12:22:04.000000000 +0100
-+++ vnc-4_1_2-unixsrc/unix/xorg-x11-server-source/hw/xfree86/os-support/misc/SlowBcopy.c	2007-03-01 12:22:04.000000000 +0100
-@@ -35,7 +35,9 @@
- #if !defined(__sparc__) && \
+--- vnc-4_1_2-unixsrc/unix/xorg-x11-server-source/hw/xfree86/os-support/misc/SlowBcopy.c.s390	2007-06-06 15:00:24.000000000 +0200
++++ vnc-4_1_2-unixsrc/unix/xorg-x11-server-source/hw/xfree86/os-support/misc/SlowBcopy.c	2007-06-06 15:03:45.000000000 +0200
+@@ -36,7 +36,8 @@ xf86SlowBcopy(unsigned char *src, unsign
      !defined(__powerpc__) && \
      !defined(__mips__) && \
--    !defined(__ia64__)
-+    !defined(__ia64__) && \
-+    !defined(__s390__) && \
+     !defined(__ia64__) && \
+-    !defined(__arm__)
++    !defined(__arm__) && \
 +    !defined(__s390x__)
  	outb(0x80, 0x00);
  #endif


Index: vnc.spec
===================================================================
RCS file: /cvs/pkgs/rpms/vnc/devel/vnc.spec,v
retrieving revision 1.172
retrieving revision 1.173
diff -u -r1.172 -r1.173
--- vnc.spec	23 Apr 2007 14:47:47 -0000	1.172
+++ vnc.spec	8 Jun 2007 11:46:09 -0000	1.173
@@ -4,7 +4,7 @@
 Summary:   A remote display system
 Name:      vnc
 Version:   4.1.2
-Release:   17%{?dist}
+Release:   18%{?dist}
 URL:       http://www.realvnc.com
 Source0:   http://www.realvnc.com/dist/vnc-%{vnc_version}-unixsrc.tar.gz
 Source1:   http://www.realvnc.com/dist/vnc-%{java_vnc_version}-javasrc.tar.gz
@@ -36,7 +36,7 @@
 Patch32:   vnc-autotools-compile.patch
 Patch33:   vnc-always_use_fb.patch
 Patch34:   vnc-vsnprintf.patch
-Patch35:   vnc-module_crash.patch
+Patch36:   vnc-24bit.patch
 License:   GPL
 Group:     User Interface/Desktops
 BuildRoot: %{_tmppath}/%{name}-%{version}-root
@@ -114,7 +114,7 @@
 %patch32 -p1 -b .autotools-compile
 %patch33 -p1 -b .always_use_fb
 %patch34 -p1 -b .vsnprintf
-%patch35 -p1 -b .module_crash
+%patch36 -p1 -b .24bit
 
 cp -a unix/xc/programs/Xserver/vnc/Xvnc/xvnc.cc \
 	unix/xc/programs/Xserver/Xvnc.man \
@@ -142,7 +142,7 @@
 
 cd xorg-x11-server-source
 aclocal; automake -a; autoconf
-%configure --enable-xorg --disable-xnest --disable-xvfb \
+%configure --enable-xorg --disable-xnest --enable-xvfb \
 	--disable-dmx --disable-xwin --disable-xephyr --disable-kdrive \
 	--with-pic \
         --disable-xorgcfg \
@@ -313,6 +313,11 @@
 %{_libdir}/librfb.so.*
 
 %changelog
+* Thu Jun 08 2007 Adam Tkac <atkac redhat com> 4.1.2-18.fc8
+- added 24bit support to Xvnc
+- handle RENDER extension better
+  (+ moved module_crash patch into render patch)
+ 
 * Mon Apr 23 2007 Adam Tkac <atkac redhat com> 4.1.2-17.fc7
 - removed patch to #188169 because patching this bug could do
   more things bad than good


--- vnc-module_crash.patch DELETED ---




More information about the fedora-extras-commits mailing list