Magellan Linux

Contents of /trunk/vnc/patches/vnc-server-bounds.patch

Parent Directory Parent Directory | Revision Log Revision Log


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

1 diff -up vnc-4_1_2-unixsrc/unix/xorg-x11-server-source/hw/vnc/XserverDesktop.cc.bounds vnc-4_1_2-unixsrc/unix/xorg-x11-server-source/hw/vnc/XserverDesktop.cc
2 --- vnc-4_1_2-unixsrc/unix/xorg-x11-server-source/hw/vnc/XserverDesktop.cc.bounds 2008-03-17 16:46:27.000000000 +0100
3 +++ vnc-4_1_2-unixsrc/unix/xorg-x11-server-source/hw/vnc/XserverDesktop.cc 2008-03-17 16:59:11.000000000 +0100
4 @@ -486,32 +486,36 @@ void XserverDesktop::add_changed(RegionP
5 {
6 if (ignoreHooks_) return;
7 if (grabbing) return;
8 +
9 + BoxRec screenbox;
10 + RegionPtr newreg = REGION_CREATE(pScreen, 0, 0);
11 +
12 + screenbox.x1 = screenbox.y1 = 0;
13 + screenbox.x2 = pScreen->width;
14 + screenbox.y2 = pScreen->height;
15 +
16 + RegionPtr screenreg = REGION_CREATE(pScreen, &screenbox, 0);
17 + REGION_INTERSECT(pScreen, newreg, reg, screenreg);
18 + REGION_DESTROY (pScreen, screenreg);
19 +
20 try {
21 rfb::Region rfbReg;
22 - rfbReg.setExtentsAndOrderedRects((ShortRect*)REGION_EXTENTS(pScreen, reg),
23 - REGION_NUM_RECTS(reg),
24 - (ShortRect*)REGION_RECTS(reg));
25 + rfbReg.setExtentsAndOrderedRects((ShortRect*)REGION_EXTENTS(pScreen, newreg),
26 + REGION_NUM_RECTS(newreg),
27 + (ShortRect*)REGION_RECTS(newreg));
28 server->add_changed(rfbReg);
29 deferUpdate();
30 } catch (rdr::Exception& e) {
31 vlog.error("XserverDesktop::add_changed: %s",e.str());
32 }
33 + REGION_DESTROY (pScreen, newreg);
34 }
35
36 void XserverDesktop::add_copied(RegionPtr dst, int dx, int dy)
37 {
38 - if (ignoreHooks_) return;
39 - if (grabbing) return;
40 - try {
41 - rfb::Region rfbReg;
42 - rfbReg.setExtentsAndOrderedRects((ShortRect*)REGION_EXTENTS(pScreen, dst),
43 - REGION_NUM_RECTS(dst),
44 - (ShortRect*)REGION_RECTS(dst));
45 - server->add_copied(rfbReg, rfb::Point(dx, dy));
46 - deferUpdate();
47 - } catch (rdr::Exception& e) {
48 - vlog.error("XserverDesktop::add_copied: %s",e.str());
49 - }
50 + add_changed (dst);
51 + REGION_TRANSLATE (pScreen, dst, -dx, -dy);
52 + add_changed (dst);
53 }
54
55 void XserverDesktop::positionCursor()