Annotation of /trunk/tigervnc/patches/tigervnc-0.0.90-bounds.patch
Parent Directory | Revision Log
Revision 817 -
(hide 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 | niro | 817 | 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() |