diff -up vnc-4_1_2-unixsrc/unix/xorg-x11-server-source/hw/vnc/vncHooks.cc.paint vnc-4_1_2-unixsrc/unix/xorg-x11-server-source/hw/vnc/vncHooks.cc --- vnc-4_1_2-unixsrc/unix/xorg-x11-server-source/hw/vnc/vncHooks.cc.paint 2008-03-06 14:54:52.000000000 +0100 +++ vnc-4_1_2-unixsrc/unix/xorg-x11-server-source/hw/vnc/vncHooks.cc 2008-03-06 14:56:54.000000000 +0100 @@ -72,8 +72,6 @@ typedef struct { CloseScreenProcPtr CloseScreen; CreateGCProcPtr CreateGC; - PaintWindowBackgroundProcPtr PaintWindowBackground; - PaintWindowBorderProcPtr PaintWindowBorder; CopyWindowProcPtr CopyWindow; ClearToBackgroundProcPtr ClearToBackground; RestoreAreasProcPtr RestoreAreas; @@ -106,10 +104,6 @@ static DevPrivateKey vncHooksGCPrivateKe static Bool vncHooksCloseScreen(int i, ScreenPtr pScreen); static Bool vncHooksCreateGC(GCPtr pGC); -static void vncHooksPaintWindowBackground(WindowPtr pWin, RegionPtr pRegion, - int what); -static void vncHooksPaintWindowBorder(WindowPtr pWin, RegionPtr pRegion, - int what); static void vncHooksCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr pOldRegion); static void vncHooksClearToBackground(WindowPtr pWin, int x, int y, int w, @@ -231,8 +225,6 @@ Bool vncHooksInit(ScreenPtr pScreen, Xse vncHooksScreen->CloseScreen = pScreen->CloseScreen; vncHooksScreen->CreateGC = pScreen->CreateGC; - vncHooksScreen->PaintWindowBackground = pScreen->PaintWindowBackground; - vncHooksScreen->PaintWindowBorder = pScreen->PaintWindowBorder; vncHooksScreen->CopyWindow = pScreen->CopyWindow; vncHooksScreen->ClearToBackground = pScreen->ClearToBackground; vncHooksScreen->RestoreAreas = pScreen->RestoreAreas; @@ -253,8 +245,6 @@ Bool vncHooksInit(ScreenPtr pScreen, Xse pScreen->CloseScreen = vncHooksCloseScreen; pScreen->CreateGC = vncHooksCreateGC; - pScreen->PaintWindowBackground = vncHooksPaintWindowBackground; - pScreen->PaintWindowBorder = vncHooksPaintWindowBorder; pScreen->CopyWindow = vncHooksCopyWindow; pScreen->ClearToBackground = vncHooksClearToBackground; pScreen->RestoreAreas = vncHooksRestoreAreas; @@ -297,8 +287,6 @@ static Bool vncHooksCloseScreen(int i, S SCREEN_UNWRAP(pScreen_, CloseScreen); pScreen->CreateGC = vncHooksScreen->CreateGC; - pScreen->PaintWindowBackground = vncHooksScreen->PaintWindowBackground; - pScreen->PaintWindowBorder = vncHooksScreen->PaintWindowBorder; pScreen->CopyWindow = vncHooksScreen->CopyWindow; pScreen->ClearToBackground = vncHooksScreen->ClearToBackground; pScreen->RestoreAreas = vncHooksScreen->RestoreAreas; @@ -333,38 +321,6 @@ static Bool vncHooksCreateGC(GCPtr pGC) return ret; } -// PaintWindowBackground - changed region is the given region - -static void vncHooksPaintWindowBackground(WindowPtr pWin, RegionPtr pRegion, - int what) -{ - SCREEN_UNWRAP(pWin->drawable.pScreen, PaintWindowBackground); - - RegionHelper changed(pScreen, pRegion); - - (*pScreen->PaintWindowBackground) (pWin, pRegion, what); - - vncHooksScreen->desktop->add_changed(changed.reg); - - SCREEN_REWRAP(PaintWindowBackground); -} - -// PaintWindowBorder - changed region is the given region - -static void vncHooksPaintWindowBorder(WindowPtr pWin, RegionPtr pRegion, - int what) -{ - SCREEN_UNWRAP(pWin->drawable.pScreen, PaintWindowBorder); - - RegionHelper changed(pScreen, pRegion); - - (*pScreen->PaintWindowBorder) (pWin, pRegion, what); - - vncHooksScreen->desktop->add_changed(changed.reg); - - SCREEN_REWRAP(PaintWindowBorder); -} - // CopyWindow - destination of the copy is the old region, clipped by // borderClip, translated by the delta. This call only does the copy - it // doesn't affect any other bits. @@ -534,16 +490,9 @@ static void vncHooksValidateGC(GCPtr pGC (*pGC->funcs->ValidateGC) (pGC, changes, pDrawable); u.vncHooksGC->wrappedOps = 0; - if (pDrawable->type == DRAWABLE_WINDOW && ((WindowPtr)pDrawable)->viewable) { - WindowPtr pWin = (WindowPtr)pDrawable; - RegionPtr pRegion = &pWin->clipList; - - if (pGC->subWindowMode == IncludeInferiors) - pRegion = &pWin->borderClip; - if (REGION_NOTEMPTY(pDrawable->pScreen, pRegion)) { - u.vncHooksGC->wrappedOps = pGC->ops; - DBGPRINT((stderr,"vncHooksValidateGC: wrapped GC ops\n")); - } + if (pDrawable->type == DRAWABLE_WINDOW || pDrawable->type == DRAWABLE_PIXMAP) { + u.vncHooksGC->wrappedOps = pGC->ops; + DBGPRINT((stderr,"vncHooksValidateGC: wrapped GC ops\n")); } }