Magellan Linux

Annotation of /trunk/vnc/patches/vnc-server-privates.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 639 - (hide annotations) (download)
Tue Jun 3 20:56:41 2008 UTC (15 years, 11 months ago) by niro
File size: 5354 byte(s)
-renamed patch

1 niro 639 --- a/bin/xorg/hw/vnc/vncHooks.cc Mon Jan 21 17:29:11 2008 +0100
2     +++ b/bin/xorg/hw/vnc/vncHooks.cc Thu Jan 24 09:50:48 2008 +0100
3     @@ -86,9 +86,15 @@ typedef struct {
4     GCOps *wrappedOps;
5     } vncHooksGCRec, *vncHooksGCPtr;
6    
7     -static int vncHooksScreenIndex;
8     -static int vncHooksGCIndex;
9     +static DevPrivateKey vncHooksScrPrivateKey = &vncHooksScrPrivateKey;
10     +static DevPrivateKey vncHooksGCPrivateKey = &vncHooksGCPrivateKey;
11    
12     +#define vncHooksScreenPrivate(scrn) \
13     + (vncHooksScreenPtr) dixLookupPrivate (&(scrn)->devPrivates, \
14     + vncHooksScrPrivateKey)
15     +#define vncHooksGCPrivate(pGC) \
16     + (vncHooksGCPtr) dixLookupPrivate (&(pGC)->devPrivates, \
17     + vncHooksGCPrivateKey)
18    
19     // screen functions
20    
21     @@ -209,26 +215,11 @@ Bool vncHooksInit(ScreenPtr pScreen, Xse
22     if (vncHooksGeneration != serverGeneration) {
23     vncHooksGeneration = serverGeneration;
24    
25     - vncHooksScreenIndex = AllocateScreenPrivateIndex();
26     - if (vncHooksScreenIndex < 0) {
27     - ErrorF("vncHooksInit: AllocateScreenPrivateIndex failed\n");
28     - return FALSE;
29     - }
30     -
31     - vncHooksGCIndex = AllocateGCPrivateIndex();
32     - if (vncHooksGCIndex < 0) {
33     - ErrorF("vncHooksInit: AllocateGCPrivateIndex failed\n");
34     - return FALSE;
35     - }
36     - }
37     -
38     - if (!AllocateGCPrivate(pScreen, vncHooksGCIndex, sizeof(vncHooksGCRec))) {
39     - ErrorF("vncHooksInit: AllocateGCPrivate failed\n");
40     - return FALSE;
41     + if (!dixRequestPrivate (vncHooksGCPrivateKey, sizeof (vncHooksGCRec)))
42     + return FALSE;
43     }
44    
45     vncHooksScreen = (vncHooksScreenPtr)xnfalloc(sizeof(vncHooksScreenRec));
46     - pScreen->devPrivates[vncHooksScreenIndex].ptr = (pointer)vncHooksScreen;
47    
48     vncHooksScreen->desktop = desktop;
49    
50     @@ -266,6 +257,8 @@ Bool vncHooksInit(ScreenPtr pScreen, Xse
51     pScreen->DisplayCursor = vncHooksDisplayCursor;
52     pScreen->BlockHandler = vncHooksBlockHandler;
53    
54     + dixSetPrivate (&pScreen->devPrivates, vncHooksScrPrivateKey, vncHooksScreen);
55     +
56     return TRUE;
57     }
58    
59     @@ -281,11 +274,10 @@ Bool vncHooksInit(ScreenPtr pScreen, Xse
60     // distinct type, so it would have to use templates, and it's not worth that
61     // much pain.
62    
63     -#define SCREEN_UNWRAP(scrn,field) \
64     - ScreenPtr pScreen = scrn; \
65     - vncHooksScreenPtr vncHooksScreen \
66     - = ((vncHooksScreenPtr)pScreen->devPrivates[vncHooksScreenIndex].ptr); \
67     - pScreen->field = vncHooksScreen->field; \
68     +#define SCREEN_UNWRAP(scrn,field) \
69     + ScreenPtr pScreen = scrn; \
70     + vncHooksScreenPtr vncHooksScreen = vncHooksScreenPrivate (scrn); \
71     + pScreen->field = vncHooksScreen->field; \
72     DBGPRINT((stderr,"vncHooks" #field " called\n"));
73    
74     #define SCREEN_REWRAP(field) pScreen->field = vncHooks##field;
75     @@ -322,8 +314,7 @@ static Bool vncHooksCreateGC(GCPtr pGC)
76     {
77     SCREEN_UNWRAP(pGC->pScreen, CreateGC);
78    
79     - vncHooksGCPtr vncHooksGC
80     - = (vncHooksGCPtr)pGC->devPrivates[vncHooksGCIndex].ptr;
81     + vncHooksGCPtr vncHooksGC = vncHooksGCPrivate (pGC);
82    
83     Bool ret = (*pScreen->CreateGC) (pGC);
84    
85     @@ -507,7 +498,7 @@ class GCFuncUnwrapper {
86     class GCFuncUnwrapper {
87     public:
88     GCFuncUnwrapper(GCPtr pGC_) : pGC(pGC_) {
89     - vncHooksGC = (vncHooksGCPtr)pGC->devPrivates[vncHooksGCIndex].ptr;
90     + vncHooksGC = vncHooksGCPrivate (pGC);
91     pGC->funcs = vncHooksGC->wrappedFuncs;
92     if (vncHooksGC->wrappedOps)
93     pGC->ops = vncHooksGC->wrappedOps;
94     @@ -592,7 +583,7 @@ public:
95     GCOpUnwrapper(DrawablePtr pDrawable, GCPtr pGC_)
96     : pGC(pGC_), pScreen(pDrawable->pScreen)
97     {
98     - vncHooksGC = (vncHooksGCPtr)pGC->devPrivates[vncHooksGCIndex].ptr;
99     + vncHooksGC = vncHooksGCPrivate (pGC);
100     oldFuncs = pGC->funcs;
101     pGC->funcs = vncHooksGC->wrappedFuncs;
102     pGC->ops = vncHooksGC->wrappedOps;
103     @@ -611,8 +602,7 @@ public:
104     #define GC_OP_UNWRAPPER(pDrawable, pGC, name) \
105     GCOpUnwrapper u(pDrawable, pGC); \
106     ScreenPtr pScreen = (pDrawable)->pScreen; \
107     - vncHooksScreenPtr vncHooksScreen \
108     - = ((vncHooksScreenPtr)pScreen->devPrivates[vncHooksScreenIndex].ptr); \
109     + vncHooksScreenPtr vncHooksScreen = vncHooksScreenPrivate (pScreen); \
110     DBGPRINT((stderr,"vncHooks" #name " called\n"));
111    
112    
113     @@ -1511,8 +1501,7 @@ static void vncHooksComposite(CARD8 op,
114     INT16 xDst, INT16 yDst, CARD16 width, CARD16 height)
115     {
116     ScreenPtr pScreen = pDst->pDrawable->pScreen;
117     - vncHooksScreenPtr vncHooksScreen = \
118     - ((vncHooksScreenPtr)pScreen->devPrivates[vncHooksScreenIndex].ptr);
119     + vncHooksScreenPtr vncHooksScreen = vncHooksScreenPrivate (pScreen);
120     PictureScreenPtr ps = GetPictureScreen(pScreen);
121     BoxRec box;
122    
123     @@ -1534,8 +1523,7 @@ static void vncHooksGlyphs(CARD8 op, Pic
124     GlyphListPtr list, GlyphPtr *glyphs)
125     {
126     ScreenPtr pScreen = pDst->pDrawable->pScreen;
127     - vncHooksScreenPtr vncHooksScreen = \
128     - ((vncHooksScreenPtr)pScreen->devPrivates[vncHooksScreenIndex].ptr);
129     + vncHooksScreenPtr vncHooksScreen = vncHooksScreenPrivate (pScreen);
130     PictureScreenPtr ps = GetPictureScreen(pScreen);
131     int x, y;
132     int n;