1
0

- Merge xorg-server-xf4vnc-fix-crash-on-193.diff

into xorg-server-xf4vnc-fixes_1_9.diff
- Fix last commit

OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/xorg-x11-server?expand=0&rev=330
This commit is contained in:
Matthias Hopf 2011-02-11 17:21:41 +00:00 committed by Git OBS Bridge
parent 26f4a1f267
commit 35b4ea8794
4 changed files with 155 additions and 181 deletions

View File

@ -1,110 +0,0 @@
diff -urp xorg-server-1.9.3.orig//hw/vnc/dispcur.c xorg-server-1.9.3/hw/vnc/dispcur.c
--- xorg-server-1.9.3.orig//hw/vnc/dispcur.c 2010-12-21 16:51:38.000000000 +0100
+++ xorg-server-1.9.3/hw/vnc/dispcur.c 2010-12-21 18:23:02.000000000 +0100
@@ -74,10 +74,10 @@ in this Software without prior written a
/* per-screen private data */
-static int rfbDCScreenKeyStore;
-static DevPrivateKey rfbDCScreenKey = &rfbDCScreenKeyStore;
-static int rfbScreenKeyStore;
-static DevPrivateKey rfbScreenKey = &rfbScreenKeyStore;
+static DevPrivateKeyRec rfbDCScreenKeyRec;
+#define rfbDCScreenKey (&rfbDCScreenKeyRec)
+static DevPrivateKeyRec rfbScreenKeyRec;
+#define rfbScreenKey (&rfbScreenKeyRec)
static Bool rfbDCCloseScreen(int index, ScreenPtr pScreen);
@@ -137,6 +137,12 @@ rfbDCInitialize (ScreenPtr pScreen, miPo
{
rfbDCScreenPtr pScreenPriv;
+ if (!dixRegisterPrivateKey(rfbDCScreenKey, PRIVATE_SCREEN, 0))
+ return FALSE;
+
+ if (!dixRegisterPrivateKey(rfbScreenKey, PRIVATE_CURSOR_BITS, 0))
+ return FALSE;
+
pScreenPriv = (rfbDCScreenPtr) xalloc (sizeof (rfbDCScreenRec));
if (!pScreenPriv)
return FALSE;
diff -urp xorg-server-1.9.3.orig//hw/vnc/draw.c xorg-server-1.9.3/hw/vnc/draw.c
--- xorg-server-1.9.3.orig//hw/vnc/draw.c 2010-12-21 16:51:38.000000000 +0100
+++ xorg-server-1.9.3/hw/vnc/draw.c 2010-12-21 18:30:00.000000000 +0100
@@ -61,6 +61,10 @@ in this Software without prior written a
int rfbDeferUpdateTime = 40; /* ms */
+extern DevPrivateKeyRec rfbGCKeyRec;
+#define rfbGCKey (&rfbGCKeyRec)
+
+
/****************************************************************************/
/*
diff -urp xorg-server-1.9.3.orig//hw/vnc/sprite.c xorg-server-1.9.3/hw/vnc/sprite.c
--- xorg-server-1.9.3.orig//hw/vnc/sprite.c 2010-12-21 16:51:38.000000000 +0100
+++ xorg-server-1.9.3/hw/vnc/sprite.c 2010-12-21 18:21:32.000000000 +0100
@@ -114,8 +114,9 @@ static void rfbSpriteSaveDoomedAreas
static RegionPtr rfbSpriteRestoreAreas(WindowPtr pWin, RegionPtr pRgnExposed);
static void rfbSpriteComputeSaved(ScreenPtr pScreen);
-static int rfbSpriteScreenKeyStore;
-static DevPrivateKey rfbSpriteScreenKey = &rfbSpriteScreenKeyStore;
+static DevPrivateKeyRec rfbSpriteScreenKeyRec;
+#define rfbSpriteScreenKey (&rfbSpriteScreenKeyRec)
+
#define SCREEN_PROLOGUE(pScreen, field) ((pScreen)->field = \
((rfbSpriteScreenPtr)dixLookupPrivate(&(pScreen)->devPrivates, \
@@ -147,8 +148,8 @@ static GCFuncs rfbSpriteGCFuncs = {
rfbSpriteCopyClip,
};
-static int rfbSpriteGCKeyStore;
-static DevPrivateKey rfbSpriteGCKey = &rfbSpriteGCKeyStore;
+static DevPrivateKeyRec rfbSpriteGCKeyRec;
+#define rfbSpriteGCKey (&rfbSpriteGCKeyRec)
#define GC_FUNC_PROLOGUE(pGC) \
rfbSpriteGCPtr pGCPriv = \
@@ -331,6 +332,9 @@ rfbSpriteInitialize (pScreen, cursorFunc
rfbSpriteScreenPtr pPriv;
VisualPtr pVisual;
+ if (!dixRegisterPrivateKey(rfbSpriteScreenKey, PRIVATE_SCREEN, 0))
+ return FALSE;
+
if (!dixRegisterPrivateKey(rfbSpriteGCKey, PRIVATE_CLIENT, sizeof(rfbSpriteGCRec)))
return FALSE;
diff -urp xorg-server-1.9.3.orig//hw/vnc/vncext.c xorg-server-1.9.3/hw/vnc/vncext.c
--- xorg-server-1.9.3.orig//hw/vnc/vncext.c 2010-12-21 16:51:38.000000000 +0100
+++ xorg-server-1.9.3/hw/vnc/vncext.c 2010-12-21 18:29:54.000000000 +0100
@@ -36,9 +36,10 @@
#include <arpa/inet.h>
#include <netdb.h>
-static int vncCreateScreenResourcesKeyStore, rfbGCKeyStore;
-DevPrivateKey vncCreateScreenResourcesKey = &vncCreateScreenResourcesKeyStore;
-DevPrivateKey rfbGCKey = &rfbGCKeyStore;
+static DevPrivateKeyRec vncCreateScreenResourcesKeyRec;
+#define vncCreateScreenResourcesKey (&vncCreateScreenResourcesKeyRec)
+DevPrivateKeyRec rfbGCKeyRec;
+#define rfbGCKey (&rfbGCKeyRec)
int VncSelectNotify(ClientPtr client, BOOL onoff);
void VncExtensionInit(void);
@@ -762,7 +763,11 @@ VncExtensionInit(void)
vncExtGeneration = serverGeneration;
+ // doesn't seem to be valid any more - mhopf 21.12.2010
// no allocation needed for screen privates
+ if (!dixRegisterPrivateKey(vncCreateScreenResourcesKey, PRIVATE_SCREEN, 0))
+ return;
+
if (!dixRegisterPrivateKey(rfbGCKey, PRIVATE_CLIENT, sizeof(rfbGCRec)))
return;

View File

@ -1,7 +1,7 @@
Index: xorg-server-1.9.2/hw/vnc/rfb.h
Index: xorg-server-1.9.3/hw/vnc/rfb.h
===================================================================
--- xorg-server-1.9.2.orig/hw/vnc/rfb.h
+++ xorg-server-1.9.2/hw/vnc/rfb.h
--- xorg-server-1.9.3.orig/hw/vnc/rfb.h
+++ xorg-server-1.9.3/hw/vnc/rfb.h
@@ -189,8 +189,8 @@ typedef struct
CloseScreenProcPtr CloseScreen;
@ -13,11 +13,22 @@ Index: xorg-server-1.9.2/hw/vnc/rfb.h
CopyWindowProcPtr CopyWindow;
ClearToBackgroundProcPtr ClearToBackground;
RestoreAreasProcPtr RestoreAreas;
Index: xorg-server-1.9.2/hw/vnc/draw.c
Index: xorg-server-1.9.3/hw/vnc/draw.c
===================================================================
--- xorg-server-1.9.2.orig/hw/vnc/draw.c
+++ xorg-server-1.9.2/hw/vnc/draw.c
@@ -217,8 +217,8 @@ rfbCloseScreen (int i, ScreenPtr pScreen
--- xorg-server-1.9.3.orig/hw/vnc/draw.c
+++ xorg-server-1.9.3/hw/vnc/draw.c
@@ -61,6 +61,10 @@ in this Software without prior written a
int rfbDeferUpdateTime = 40; /* ms */
+extern DevPrivateKeyRec rfbGCKeyRec;
+#define rfbGCKey (&rfbGCKeyRec)
+
+
/****************************************************************************/
/*
@@ -217,8 +221,8 @@ rfbCloseScreen (int i, ScreenPtr pScreen
pScreen->CloseScreen = pVNC->CloseScreen;
pScreen->CreateGC = pVNC->CreateGC;
@ -28,7 +39,7 @@ Index: xorg-server-1.9.2/hw/vnc/draw.c
pScreen->CopyWindow = pVNC->CopyWindow;
pScreen->ClearToBackground = pVNC->ClearToBackground;
pScreen->RestoreAreas = pVNC->RestoreAreas;
@@ -252,7 +252,7 @@ rfbEnableDisableFBAccess (int index, Boo
@@ -252,7 +256,7 @@ rfbEnableDisableFBAccess (int index, Boo
* control even when switched away.
*/
if (!enable) {
@ -37,7 +48,7 @@ Index: xorg-server-1.9.2/hw/vnc/draw.c
ScreenPtr pScreen = pWin->drawable.pScreen;
GCPtr pGC;
xRectangle rect;
@@ -268,7 +268,7 @@ rfbEnableDisableFBAccess (int index, Boo
@@ -268,7 +272,7 @@ rfbEnableDisableFBAccess (int index, Boo
CARD32 attributes[2];
attributes[0] = pScreen->whitePixel;
attributes[1] = pScreen->blackPixel;
@ -46,7 +57,7 @@ Index: xorg-server-1.9.2/hw/vnc/draw.c
ValidateGC((DrawablePtr)pWin, pGC);
@@ -317,6 +317,7 @@ rfbCreateGC (GCPtr pGC)
@@ -317,6 +321,7 @@ rfbCreateGC (GCPtr pGC)
return ret;
}
@ -54,7 +65,7 @@ Index: xorg-server-1.9.2/hw/vnc/draw.c
/*
* PaintWindowBackground - the region being modified is just the given region.
*/
@@ -356,6 +357,7 @@ rfbPaintWindowBorder (WindowPtr pWin, Re
@@ -356,6 +361,7 @@ rfbPaintWindowBorder (WindowPtr pWin, Re
SCREEN_EPILOGUE(PaintWindowBorder,rfbPaintWindowBorder);
}
@ -62,10 +73,10 @@ Index: xorg-server-1.9.2/hw/vnc/draw.c
#ifdef CHROMIUM
Bool
Index: xorg-server-1.9.2/hw/vnc/init.c
Index: xorg-server-1.9.3/hw/vnc/init.c
===================================================================
--- xorg-server-1.9.2.orig/hw/vnc/init.c
+++ xorg-server-1.9.2/hw/vnc/init.c
--- xorg-server-1.9.3.orig/hw/vnc/init.c
+++ xorg-server-1.9.3/hw/vnc/init.c
@@ -670,8 +670,8 @@ rfbScreenInit(index, pScreen, argc, argv
prfb->CloseScreen = pScreen->CloseScreen;
prfb->WakeupHandler = pScreen->WakeupHandler;
@ -88,10 +99,10 @@ Index: xorg-server-1.9.2/hw/vnc/init.c
pScreen->CopyWindow = rfbCopyWindow;
pScreen->ClearToBackground = rfbClearToBackground;
pScreen->RestoreAreas = rfbRestoreAreas;
Index: xorg-server-1.9.2/hw/vnc/sprite.c
Index: xorg-server-1.9.3/hw/vnc/sprite.c
===================================================================
--- xorg-server-1.9.2.orig/hw/vnc/sprite.c
+++ xorg-server-1.9.2/hw/vnc/sprite.c
--- xorg-server-1.9.3.orig/hw/vnc/sprite.c
+++ xorg-server-1.9.3/hw/vnc/sprite.c
@@ -96,8 +96,10 @@ static void rfbSpriteInstallColormap
static void rfbSpriteStoreColors(ColormapPtr pMap, int ndef,
xColorItem *pdef);
@ -103,16 +114,42 @@ Index: xorg-server-1.9.2/hw/vnc/sprite.c
static void rfbSpritePaintWindowBorder(WindowPtr pWin,
RegionPtr pRegion, int what);
static void rfbSpriteCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg,
@@ -329,7 +331,7 @@ rfbSpriteInitialize (pScreen, cursorFunc
@@ -112,8 +114,9 @@ static void rfbSpriteSaveDoomedAreas
static RegionPtr rfbSpriteRestoreAreas(WindowPtr pWin, RegionPtr pRgnExposed);
static void rfbSpriteComputeSaved(ScreenPtr pScreen);
-static int rfbSpriteScreenKeyStore;
-static DevPrivateKey rfbSpriteScreenKey = &rfbSpriteScreenKeyStore;
+static DevPrivateKeyRec rfbSpriteScreenKeyRec;
+#define rfbSpriteScreenKey (&rfbSpriteScreenKeyRec)
+
#define SCREEN_PROLOGUE(pScreen, field) ((pScreen)->field = \
((rfbSpriteScreenPtr)dixLookupPrivate(&(pScreen)->devPrivates, \
@@ -145,8 +148,8 @@ static GCFuncs rfbSpriteGCFuncs = {
rfbSpriteCopyClip,
};
-static int rfbSpriteGCKeyStore;
-static DevPrivateKey rfbSpriteGCKey = &rfbSpriteGCKeyStore;
+static DevPrivateKeyRec rfbSpriteGCKeyRec;
+#define rfbSpriteGCKey (&rfbSpriteGCKeyRec)
#define GC_FUNC_PROLOGUE(pGC) \
rfbSpriteGCPtr pGCPriv = \
@@ -329,7 +332,10 @@ rfbSpriteInitialize (pScreen, cursorFunc
rfbSpriteScreenPtr pPriv;
VisualPtr pVisual;
- if (!dixRequestPrivate(rfbSpriteGCKey, sizeof(rfbSpriteGCRec)))
+ if (!dixRegisterPrivateKey(rfbSpriteScreenKey, PRIVATE_SCREEN, 0))
+ return FALSE;
+
+ if (!dixRegisterPrivateKey(rfbSpriteGCKey, PRIVATE_GC, sizeof(rfbSpriteGCRec)))
return FALSE;
pPriv = (rfbSpriteScreenPtr) xalloc (sizeof (rfbSpriteScreenRec));
@@ -357,8 +359,8 @@ rfbSpriteInitialize (pScreen, cursorFunc
@@ -357,8 +363,8 @@ rfbSpriteInitialize (pScreen, cursorFunc
pPriv->StoreColors = pScreen->StoreColors;
pPriv->DisplayCursor = pScreen->DisplayCursor;
@ -123,7 +160,7 @@ Index: xorg-server-1.9.2/hw/vnc/sprite.c
pPriv->CopyWindow = pScreen->CopyWindow;
pPriv->ClearToBackground = pScreen->ClearToBackground;
@@ -393,8 +395,8 @@ rfbSpriteInitialize (pScreen, cursorFunc
@@ -393,8 +399,8 @@ rfbSpriteInitialize (pScreen, cursorFunc
pScreen->InstallColormap = rfbSpriteInstallColormap;
pScreen->StoreColors = rfbSpriteStoreColors;
@ -134,7 +171,7 @@ Index: xorg-server-1.9.2/hw/vnc/sprite.c
pScreen->CopyWindow = rfbSpriteCopyWindow;
pScreen->ClearToBackground = rfbSpriteClearToBackground;
@@ -435,8 +437,8 @@ rfbSpriteCloseScreen (i, pScreen)
@@ -435,8 +441,8 @@ rfbSpriteCloseScreen (i, pScreen)
pScreen->InstallColormap = pScreenPriv->InstallColormap;
pScreen->StoreColors = pScreenPriv->StoreColors;
@ -145,7 +182,7 @@ Index: xorg-server-1.9.2/hw/vnc/sprite.c
pScreen->CopyWindow = pScreenPriv->CopyWindow;
pScreen->ClearToBackground = pScreenPriv->ClearToBackground;
@@ -809,6 +811,7 @@ rfbSpriteRestoreAreas (pWin, prgnExposed
@@ -809,6 +815,7 @@ rfbSpriteRestoreAreas (pWin, prgnExposed
* Window wrappers
*/
@ -153,7 +190,7 @@ Index: xorg-server-1.9.2/hw/vnc/sprite.c
static void
rfbSpritePaintWindowBackground (pWin, pRegion, what)
WindowPtr pWin;
@@ -866,6 +869,7 @@ rfbSpritePaintWindowBorder (pWin, pRegio
@@ -866,6 +873,7 @@ rfbSpritePaintWindowBorder (pWin, pRegio
SCREEN_EPILOGUE (pScreen, PaintWindowBorder, rfbSpritePaintWindowBorder);
}
@ -161,10 +198,10 @@ Index: xorg-server-1.9.2/hw/vnc/sprite.c
static void
rfbSpriteCopyWindow (pWin, ptOldOrg, pRegion)
Index: xorg-server-1.9.2/hw/vnc/spritest.h
Index: xorg-server-1.9.3/hw/vnc/spritest.h
===================================================================
--- xorg-server-1.9.2.orig/hw/vnc/spritest.h
+++ xorg-server-1.9.2/hw/vnc/spritest.h
--- xorg-server-1.9.3.orig/hw/vnc/spritest.h
+++ xorg-server-1.9.3/hw/vnc/spritest.h
@@ -70,8 +70,8 @@ typedef struct {
ScreenBlockHandlerProcPtr BlockHandler;
InstallColormapProcPtr InstallColormap;
@ -176,10 +213,10 @@ Index: xorg-server-1.9.2/hw/vnc/spritest.h
CopyWindowProcPtr CopyWindow;
ClearToBackgroundProcPtr ClearToBackground;
SaveDoomedAreasProcPtr SaveDoomedAreas;
Index: xorg-server-1.9.2/hw/vnc/cutpaste.c
Index: xorg-server-1.9.3/hw/vnc/cutpaste.c
===================================================================
--- xorg-server-1.9.2.orig/hw/vnc/cutpaste.c
+++ xorg-server-1.9.2/hw/vnc/cutpaste.c
--- xorg-server-1.9.3.orig/hw/vnc/cutpaste.c
+++ xorg-server-1.9.3/hw/vnc/cutpaste.c
@@ -54,7 +54,7 @@ rfbSetXCutText(char *str, int len)
Selection *pSel;
@ -189,11 +226,39 @@ Index: xorg-server-1.9.2/hw/vnc/cutpaste.c
8, PropModeReplace, len,
(pointer)str, TRUE);
Index: xorg-server-1.9.2/hw/vnc/dispcur.c
Index: xorg-server-1.9.3/hw/vnc/dispcur.c
===================================================================
--- xorg-server-1.9.2.orig/hw/vnc/dispcur.c
+++ xorg-server-1.9.2/hw/vnc/dispcur.c
@@ -340,7 +340,7 @@ rfbDCRealize (ScreenPtr pScreen, CursorP
--- xorg-server-1.9.3.orig/hw/vnc/dispcur.c
+++ xorg-server-1.9.3/hw/vnc/dispcur.c
@@ -74,10 +74,10 @@ in this Software without prior written a
/* per-screen private data */
-static int rfbDCScreenKeyStore;
-static DevPrivateKey rfbDCScreenKey = &rfbDCScreenKeyStore;
-static int rfbScreenKeyStore;
-static DevPrivateKey rfbScreenKey = &rfbScreenKeyStore;
+static DevPrivateKeyRec rfbDCScreenKeyRec;
+#define rfbDCScreenKey (&rfbDCScreenKeyRec)
+static DevPrivateKeyRec rfbScreenKeyRec;
+#define rfbScreenKey (&rfbScreenKeyRec)
static Bool rfbDCCloseScreen(int index, ScreenPtr pScreen);
@@ -137,6 +137,12 @@ rfbDCInitialize (ScreenPtr pScreen, miPo
{
rfbDCScreenPtr pScreenPriv;
+ if (!dixRegisterPrivateKey(rfbDCScreenKey, PRIVATE_SCREEN, 0))
+ return FALSE;
+
+ if (!dixRegisterPrivateKey(rfbScreenKey, PRIVATE_CURSOR_BITS, 0))
+ return FALSE;
+
pScreenPriv = (rfbDCScreenPtr) xalloc (sizeof (rfbDCScreenRec));
if (!pScreenPriv)
return FALSE;
@@ -340,7 +346,7 @@ rfbDCRealize (ScreenPtr pScreen, CursorP
0, 0, pCursor->bits->width, pCursor->bits->height,
0, XYPixmap, (char *)pCursor->bits->source);
gcvals[0] = GXand;
@ -202,7 +267,7 @@ Index: xorg-server-1.9.2/hw/vnc/dispcur.c
ValidateGC ((DrawablePtr)pPriv->sourceBits, pGC);
(*pGC->ops->PutImage) ((DrawablePtr)pPriv->sourceBits, pGC, 1,
0, 0, pCursor->bits->width, pCursor->bits->height,
@@ -348,13 +348,13 @@ rfbDCRealize (ScreenPtr pScreen, CursorP
@@ -348,13 +354,13 @@ rfbDCRealize (ScreenPtr pScreen, CursorP
/* mask bits -- pCursor->mask & ~pCursor->source */
gcvals[0] = GXcopy;
@ -218,7 +283,7 @@ Index: xorg-server-1.9.2/hw/vnc/dispcur.c
ValidateGC ((DrawablePtr)pPriv->maskBits, pGC);
(*pGC->ops->PutImage) ((DrawablePtr)pPriv->maskBits, pGC, 1,
0, 0, pCursor->bits->width, pCursor->bits->height,
@@ -396,7 +396,7 @@ rfbDCPutBits (DrawablePtr pDrawable, rfb
@@ -396,7 +402,7 @@ rfbDCPutBits (DrawablePtr pDrawable, rfb
if (sourceGC->fgPixel != source)
{
gcvals[0] = source;
@ -227,7 +292,7 @@ Index: xorg-server-1.9.2/hw/vnc/dispcur.c
}
if (sourceGC->serialNumber != pDrawable->serialNumber)
ValidateGC (pDrawable, sourceGC);
@@ -404,7 +404,7 @@ rfbDCPutBits (DrawablePtr pDrawable, rfb
@@ -404,7 +410,7 @@ rfbDCPutBits (DrawablePtr pDrawable, rfb
if (maskGC->fgPixel != mask)
{
gcvals[0] = mask;
@ -236,7 +301,7 @@ Index: xorg-server-1.9.2/hw/vnc/dispcur.c
}
if (maskGC->serialNumber != pDrawable->serialNumber)
ValidateGC (pDrawable, maskGC);
@@ -451,7 +451,7 @@ rfbDCPutUpCursor (pScreen, pCursor, x, y
@@ -451,7 +457,7 @@ rfbDCPutUpCursor (pScreen, pCursor, x, y
}
pScreenPriv = (rfbDCScreenPtr)dixLookupPrivate(&pScreen->devPrivates,
rfbDCScreenKey);
@ -245,7 +310,7 @@ Index: xorg-server-1.9.2/hw/vnc/dispcur.c
#ifdef ARGB_CURSOR
if (pPriv->pPicture)
{
@@ -498,7 +498,7 @@ rfbDCSaveUnderCursor (pScreen, x, y, w,
@@ -498,7 +504,7 @@ rfbDCSaveUnderCursor (pScreen, x, y, w,
pScreenPriv = (rfbDCScreenPtr)dixLookupPrivate(&pScreen->devPrivates,
rfbDCScreenKey);
pSave = pScreenPriv->pSave;
@ -254,7 +319,7 @@ Index: xorg-server-1.9.2/hw/vnc/dispcur.c
if (!pSave || pSave->drawable.width < w || pSave->drawable.height < h)
{
if (pSave)
@@ -531,7 +531,7 @@ rfbDCRestoreUnderCursor (pScreen, x, y,
@@ -531,7 +537,7 @@ rfbDCRestoreUnderCursor (pScreen, x, y,
pScreenPriv = (rfbDCScreenPtr)dixLookupPrivate(&pScreen->devPrivates,
rfbDCScreenKey);
pSave = pScreenPriv->pSave;
@ -263,7 +328,7 @@ Index: xorg-server-1.9.2/hw/vnc/dispcur.c
if (!pSave)
return FALSE;
if (!EnsureGC(pScreenPriv->pRestoreGC, pWin))
@@ -558,7 +558,7 @@ rfbDCChangeSave (pScreen, x, y, w, h, dx
@@ -558,7 +564,7 @@ rfbDCChangeSave (pScreen, x, y, w, h, dx
pScreenPriv = (rfbDCScreenPtr)dixLookupPrivate(&pScreen->devPrivates,
rfbDCScreenKey);
pSave = pScreenPriv->pSave;
@ -272,7 +337,7 @@ Index: xorg-server-1.9.2/hw/vnc/dispcur.c
/*
* restore the bits which are about to get trashed
*/
@@ -702,7 +702,7 @@ rfbDCMoveCursor (pScreen, pCursor, x, y,
@@ -702,7 +708,7 @@ rfbDCMoveCursor (pScreen, pCursor, x, y,
}
pScreenPriv = (rfbDCScreenPtr)dixLookupPrivate(&pScreen->devPrivates,
rfbDCScreenKey);
@ -281,10 +346,10 @@ Index: xorg-server-1.9.2/hw/vnc/dispcur.c
pTemp = pScreenPriv->pTemp;
if (!pTemp ||
pTemp->drawable.width != pScreenPriv->pSave->drawable.width ||
Index: xorg-server-1.9.2/hw/vnc/kbdptr.c
Index: xorg-server-1.9.3/hw/vnc/kbdptr.c
===================================================================
--- xorg-server-1.9.2.orig/hw/vnc/kbdptr.c
+++ xorg-server-1.9.2/hw/vnc/kbdptr.c
--- xorg-server-1.9.3.orig/hw/vnc/kbdptr.c
+++ xorg-server-1.9.3/hw/vnc/kbdptr.c
@@ -153,7 +153,7 @@ KbdAddEvent(Bool down, KeySym keySym, rf
#ifdef CORBA
if (cl) {
@ -303,10 +368,10 @@ Index: xorg-server-1.9.2/hw/vnc/kbdptr.c
32, PropModeReplace, 1, (pointer)&clientId, TRUE);
}
#endif
Index: xorg-server-1.9.2/hw/vnc/rfbserver.c
Index: xorg-server-1.9.3/hw/vnc/rfbserver.c
===================================================================
--- xorg-server-1.9.2.orig/hw/vnc/rfbserver.c
+++ xorg-server-1.9.2/hw/vnc/rfbserver.c
--- xorg-server-1.9.3.orig/hw/vnc/rfbserver.c
+++ xorg-server-1.9.3/hw/vnc/rfbserver.c
@@ -82,7 +82,7 @@ void
rfbRootPropertyChange(ScreenPtr pScreen)
{
@ -373,10 +438,10 @@ Index: xorg-server-1.9.2/hw/vnc/rfbserver.c
#else
redEntry = (EntryPtr)&pVNC->rfbInstalledColormap->red[redPart];
greenEntry = (EntryPtr)&pVNC->rfbInstalledColormap->green[greenPart];
Index: xorg-server-1.9.2/hw/vnc/tabletranstemplate.c
Index: xorg-server-1.9.3/hw/vnc/tabletranstemplate.c
===================================================================
--- xorg-server-1.9.2.orig/hw/vnc/tabletranstemplate.c
+++ xorg-server-1.9.2/hw/vnc/tabletranstemplate.c
--- xorg-server-1.9.3.orig/hw/vnc/tabletranstemplate.c
+++ xorg-server-1.9.3/hw/vnc/tabletranstemplate.c
@@ -67,7 +67,7 @@ rfbTranslateWithSingleTableINtoOUT (Scre
OUT_T *op = (OUT_T *)optr;
OUT_T *opLineEnd;
@ -395,10 +460,10 @@ Index: xorg-server-1.9.2/hw/vnc/tabletranstemplate.c
int truewidth = PixmapBytePad(width, in->bitsPerPixel);
unsigned char *iptr = malloc(truewidth * height * in->bitsPerPixel / 8);
int ipextra = truewidth - width;
Index: xorg-server-1.9.2/hw/vnc/translate.c
Index: xorg-server-1.9.3/hw/vnc/translate.c
===================================================================
--- xorg-server-1.9.2.orig/hw/vnc/translate.c
+++ xorg-server-1.9.2/hw/vnc/translate.c
--- xorg-server-1.9.3.orig/hw/vnc/translate.c
+++ xorg-server-1.9.3/hw/vnc/translate.c
@@ -167,7 +167,7 @@ rfbTranslateNone(ScreenPtr pScreen, char
int width, int height, int x, int y)
{
@ -444,10 +509,10 @@ Index: xorg-server-1.9.2/hw/vnc/translate.c
#else
nColours = pVNC->rfbInstalledColormap->pVisual->ColormapEntries;
#endif
Index: xorg-server-1.9.2/hw/dmx/vnc/vncint.h
Index: xorg-server-1.9.3/hw/dmx/vnc/vncint.h
===================================================================
--- xorg-server-1.9.2.orig/hw/dmx/vnc/vncint.h
+++ xorg-server-1.9.2/hw/dmx/vnc/vncint.h
--- xorg-server-1.9.3.orig/hw/dmx/vnc/vncint.h
+++ xorg-server-1.9.3/hw/dmx/vnc/vncint.h
@@ -114,8 +114,8 @@ typedef struct {
CloseScreenProcPtr CloseScreen;
@ -459,10 +524,10 @@ Index: xorg-server-1.9.2/hw/dmx/vnc/vncint.h
CopyWindowProcPtr CopyWindow;
ClearToBackgroundProcPtr ClearToBackground;
RestoreAreasProcPtr RestoreAreas;
Index: xorg-server-1.9.2/hw/xfree86/vnc/vncint.h
Index: xorg-server-1.9.3/hw/xfree86/vnc/vncint.h
===================================================================
--- xorg-server-1.9.2.orig/hw/xfree86/vnc/vncint.h
+++ xorg-server-1.9.2/hw/xfree86/vnc/vncint.h
--- xorg-server-1.9.3.orig/hw/xfree86/vnc/vncint.h
+++ xorg-server-1.9.3/hw/xfree86/vnc/vncint.h
@@ -112,8 +112,8 @@ typedef struct {
CloseScreenProcPtr CloseScreen;
@ -474,23 +539,42 @@ Index: xorg-server-1.9.2/hw/xfree86/vnc/vncint.h
CopyWindowProcPtr CopyWindow;
ClearToBackgroundProcPtr ClearToBackground;
RestoreAreasProcPtr RestoreAreas;
Index: xorg-server-1.9.2/hw/vnc/vncext.c
Index: xorg-server-1.9.3/hw/vnc/vncext.c
===================================================================
--- xorg-server-1.9.2.orig/hw/vnc/vncext.c
+++ xorg-server-1.9.2/hw/vnc/vncext.c
@@ -763,7 +763,7 @@ VncExtensionInit(void)
--- xorg-server-1.9.3.orig/hw/vnc/vncext.c
+++ xorg-server-1.9.3/hw/vnc/vncext.c
@@ -36,9 +36,10 @@
#include <arpa/inet.h>
#include <netdb.h>
-static int vncCreateScreenResourcesKeyStore, rfbGCKeyStore;
-DevPrivateKey vncCreateScreenResourcesKey = &vncCreateScreenResourcesKeyStore;
-DevPrivateKey rfbGCKey = &rfbGCKeyStore;
+static DevPrivateKeyRec vncCreateScreenResourcesKeyRec;
+#define vncCreateScreenResourcesKey (&vncCreateScreenResourcesKeyRec)
+DevPrivateKeyRec rfbGCKeyRec;
+#define rfbGCKey (&rfbGCKeyRec)
int VncSelectNotify(ClientPtr client, BOOL onoff);
void VncExtensionInit(void);
@@ -762,8 +763,12 @@ VncExtensionInit(void)
vncExtGeneration = serverGeneration;
+ // doesn't seem to be valid any more - mhopf 21.12.2010
// no allocation needed for screen privates
- if (!dixRequestPrivate(rfbGCKey, sizeof(rfbGCRec)))
+ if (!dixRegisterPrivateKey(vncCreateScreenResourcesKey, PRIVATE_SCREEN, 0))
+ return;
+
+ if (!dixRegisterPrivateKey(rfbGCKey, PRIVATE_GC, sizeof(rfbGCRec)))
return;
#if XFREE86VNC
Index: xorg-server-1.9.2/hw/vnc/tableinitcmtemplate.c
Index: xorg-server-1.9.3/hw/vnc/tableinitcmtemplate.c
===================================================================
--- xorg-server-1.9.2.orig/hw/vnc/tableinitcmtemplate.c
+++ xorg-server-1.9.2/hw/vnc/tableinitcmtemplate.c
--- xorg-server-1.9.3.orig/hw/vnc/tableinitcmtemplate.c
+++ xorg-server-1.9.3/hw/vnc/tableinitcmtemplate.c
@@ -61,7 +61,7 @@ rfbInitColourMapSingleTableOUT (ScreenPt
t = (OUT_T *)*table;
@ -500,10 +584,10 @@ Index: xorg-server-1.9.2/hw/vnc/tableinitcmtemplate.c
#else
pent = (EntryPtr)&pVNC->rfbInstalledColormap->red[0];
#endif
Index: xorg-server-1.9.2/hw/xfree86/vnc/vncInit.c
Index: xorg-server-1.9.3/hw/xfree86/vnc/vncInit.c
===================================================================
--- xorg-server-1.9.2.orig/hw/xfree86/vnc/vncInit.c
+++ xorg-server-1.9.2/hw/xfree86/vnc/vncInit.c
--- xorg-server-1.9.3.orig/hw/xfree86/vnc/vncInit.c
+++ xorg-server-1.9.3/hw/xfree86/vnc/vncInit.c
@@ -286,8 +286,8 @@ VNCInit(ScreenPtr pScreen, unsigned char
pScreenPriv->CloseScreen = pScreen->CloseScreen;

View File

@ -4,6 +4,8 @@ Fri Feb 11 16:41:02 UTC 2011 - mhopf@novell.com
- Update xorg-server-xf4vnc-fixes_1_9.diff:
Fix Xvnc rendering issues.
- Enable build of Xvnc again.
- Merge xorg-server-xf4vnc-fix-crash-on-193.diff
into xorg-server-xf4vnc-fixes_1_9.diff
-------------------------------------------------------------------
Thu Feb 3 17:36:16 UTC 2011 - sndirsch@novell.com

View File

@ -80,7 +80,6 @@ Patch48: xorg-server-xf4vnc-fix.diff
Patch49: xorg-server-xf4vnc-fixes_1_8.diff
Patch50: xorg-server-xf4vnc-fixes_1_9.diff
Patch51: xorg-server-xf4vnc-bug605015-vnc-umlauts.diff
Patch52: xorg-server-xf4vnc-fix-crash-on-193.diff
%endif
Patch45: bug-197858_dpms.diff
Patch67: xorg-docs.diff
@ -208,7 +207,6 @@ An X Window System server for Virtual Network Computing (VNC).
%patch49 -p0
%patch50 -p1
#%patch51 -p1
%patch52 -p1
chmod 755 hw/vnc/symlink-vnc.sh
%endif
%patch45 -p0