Annotation of /trunk/vnc/patches/vnc-server-privates.patch
Parent Directory | Revision Log
Revision 639 -
(hide annotations)
(download)
Tue Jun 3 20:56:41 2008 UTC (16 years, 3 months ago) by niro
File size: 5354 byte(s)
Tue Jun 3 20:56:41 2008 UTC (16 years, 3 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; |