Browse Source

Clean up CopyWindow hook so it's more readable.


git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4228 3789f03b-4d11-0410-bbf8-ca57d06f2519
tags/v1.0.90
Pierre Ossman 13 years ago
parent
commit
329f7d5fac
1 changed files with 8 additions and 4 deletions
  1. 8
    4
      unix/xserver/hw/vnc/vncHooks.cc

+ 8
- 4
unix/xserver/hw/vnc/vncHooks.cc View File

@@ -397,12 +397,16 @@ static void vncHooksCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg,
{
SCREEN_UNWRAP(pWin->drawable.pScreen, CopyWindow);

int dx, dy;
RegionHelper copied(pScreen, pOldRegion);
int dx = pWin->drawable.x - ptOldOrg.x;
int dy = pWin->drawable.y - ptOldOrg.y;

dx = pWin->drawable.x - ptOldOrg.x;
dy = pWin->drawable.y - ptOldOrg.y;

// RFB tracks copies in terms of destination rectangle, not source.
// We also need to copy with changes to the Window's clipping region.
REGION_TRANSLATE(pScreen, copied.reg, dx, dy);
REGION_INTERSECT(pWin->drawable.pScreen, copied.reg, copied.reg,
&pWin->borderClip);
REGION_INTERSECT(pScreen, copied.reg, copied.reg, &pWin->borderClip);

(*pScreen->CopyWindow) (pWin, ptOldOrg, pOldRegion);


Loading…
Cancel
Save