Magellan Linux

Annotation of /trunk/tigervnc/patches/tigervnc-1.0.1-rh598255.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1201 - (hide annotations) (download)
Mon Nov 22 23:25:59 2010 UTC (13 years, 6 months ago) by niro
File size: 2423 byte(s)
-patches for 1.0.1 against xorg-server-1.7
1 niro 1201 Index: unix/vncviewer/CConn.cxx
2     ===================================================================
3     --- unix/vncviewer/CConn.cxx (revision 4003)
4     +++ unix/vncviewer/CConn.cxx (revision 4004)
5     @@ -33,6 +33,7 @@
6     #include <rfb/Password.h>
7     #include <rfb/screenTypes.h>
8     #include <network/TcpSocket.h>
9     +#include <cassert>
10    
11     #include "TXViewport.h"
12     #include "DesktopWindow.h"
13     @@ -62,7 +63,7 @@
14     encodingChange(false), sameMachine(false), fullScreen(::fullScreen),
15     ctrlDown(false), altDown(false),
16     menuKeysym(0), menu(dpy, this), options(dpy, this), about(dpy), info(dpy),
17     - reverseConnection(reverse), firstUpdate(true)
18     + reverseConnection(reverse), firstUpdate(true), pendingUpdate(false)
19     {
20     CharArray menuKeyStr(menuKey.getData());
21     menuKeysym = XStringToKeysym(menuKeyStr.buf);
22     @@ -306,8 +307,11 @@
23     // one. We cannot do this if we're in the middle of a format change
24     // though.
25     void CConn::framebufferUpdateStart() {
26     - if (!formatChange)
27     + if (!formatChange) {
28     + pendingUpdate = true;
29     requestNewUpdate();
30     + } else
31     + pendingUpdate = false;
32     }
33    
34     // framebufferUpdateEnd() is called at the end of an update.
35     @@ -367,7 +371,7 @@
36    
37     // A format change prevented us from sending this before the update,
38     // so make sure to send it now.
39     - if (formatChange)
40     + if (formatChange && !pendingUpdate)
41     requestNewUpdate();
42    
43     // Compute new settings based on updated bandwidth values
44     @@ -536,8 +540,11 @@
45     break;
46     case ID_REFRESH:
47     menu.unmap();
48     - writer()->writeFramebufferUpdateRequest(Rect(0, 0, cp.width, cp.height),
49     - false);
50     + if (!formatChange) {
51     + writer()->writeFramebufferUpdateRequest(Rect(0, 0, cp.width, cp.height),
52     + false);
53     + pendingUpdate = true;
54     + }
55     break;
56     case ID_F8:
57     menu.unmap();
58     @@ -840,6 +847,10 @@
59     void CConn::requestNewUpdate()
60     {
61     if (formatChange) {
62     +
63     + /* Catch incorrect requestNewUpdate calls */
64     + assert(pendingUpdate == false);
65     +
66     if (fullColour) {
67     desktop->setPF(fullColourPF);
68     } else {
69     Index: unix/vncviewer/CConn.h
70     ===================================================================
71     --- unix/vncviewer/CConn.h (revision 4003)
72     +++ unix/vncviewer/CConn.h (revision 4004)
73     @@ -132,6 +132,7 @@
74     InfoDialog info;
75     bool reverseConnection;
76     bool firstUpdate;
77     + bool pendingUpdate;
78     };
79    
80     #endif