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