Contents of /trunk/tigervnc/patches/tigervnc-0.0.90-bounds.patch
Parent Directory | Revision Log
Revision 817 -
(show annotations)
(download)
Tue May 19 18:16:42 2009 UTC (15 years, 4 months ago) by niro
File size: 2172 byte(s)
Tue May 19 18:16:42 2009 UTC (15 years, 4 months ago) by niro
File size: 2172 byte(s)
-files for tigervnc
1 | diff -up tightvnc-1.5.0-20081015svn3022/unix/xserver/hw/vnc/XserverDesktop.cc.bounds tightvnc-1.5.0-20081015svn3022/unix/xserver/hw/vnc/XserverDesktop.cc |
2 | --- tightvnc-1.5.0-20081015svn3022/unix/xserver/hw/vnc/XserverDesktop.cc.bounds 2008-10-15 15:23:24.000000000 +0200 |
3 | +++ tightvnc-1.5.0-20081015svn3022/unix/xserver/hw/vnc/XserverDesktop.cc 2008-10-23 12:46:31.000000000 +0200 |
4 | @@ -500,32 +500,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() |