tigervnc/tigervnc10-rh524340.patch
Adam Tkac 66063c9043 - update underlying X source to 1.6.4-0.3.fc11
- remove bogus '-nohttpd' parameter from /etc/sysconfig/vncservers
    (#525629)
- initscript LSB compliance fixes (#523974)
- improve -LowColorSwitch documentation and handling (#510185)
- honor dotWhenNoCursor option (and it's changes) every time (#524340)
2009-10-08 13:38:33 +00:00

84 lines
2.5 KiB
Diff

Index: unix/vncviewer/DesktopWindow.h
===================================================================
--- unix/vncviewer/DesktopWindow.h (revision 3903)
+++ unix/vncviewer/DesktopWindow.h (working copy)
@@ -29,6 +29,7 @@
#include "TXWindow.h"
#include "TXViewport.h"
#include "TXImage.h"
+#include "parameters.h"
class CConn;
@@ -54,6 +55,12 @@
// resetLocalCursor() stops the rendering of the local cursor
void resetLocalCursor();
+ // setNoCursor() sets what to display when no cursor is defined - if dot or
+ // nothing.
+ inline void setNoCursor() {
+ XDefineCursor(dpy, win(), dotWhenNoCursor ? dotCursor : noCursor);
+ }
+
// Methods forwarded from CConn
void setColourMapEntries(int firstColour, int nColours, rdr::U16* rgbs);
void serverCutText(const char* str, rdr::U32 len);
Index: unix/vncviewer/CConn.cxx
===================================================================
--- unix/vncviewer/CConn.cxx (revision 3903)
+++ unix/vncviewer/CConn.cxx (working copy)
@@ -684,6 +684,7 @@
desktop->resetLocalCursor();
}
dotWhenNoCursor.setParam(options.dotWhenNoCursor.checked());
+ desktop->setNoCursor();
checkEncodings();
}
Index: unix/vncviewer/DesktopWindow.cxx
===================================================================
--- unix/vncviewer/DesktopWindow.cxx (revision 3903)
+++ unix/vncviewer/DesktopWindow.cxx (working copy)
@@ -79,7 +79,7 @@
PointerMotionMask | KeyPressMask | KeyReleaseMask |
EnterWindowMask | LeaveWindowMask);
createXCursors();
- XDefineCursor(dpy, win(), dotCursor);
+ setNoCursor();
im = new TXImage(dpy, width(), height());
if (!serverPF.trueColour)
im->setPF(serverPF);
@@ -139,12 +139,9 @@
if (((rdr::U8*)mask)[i]) break;
if (i == mask_len) {
- if (dotWhenNoCursor) {
+ if (dotWhenNoCursor)
vlog.debug("cursor is empty - using dot");
- XDefineCursor(dpy, win(), dotCursor);
- } else {
- XDefineCursor(dpy, win(), noCursor);
- }
+ setNoCursor();
cursorAvailable = false;
return;
}
@@ -206,7 +203,7 @@
void DesktopWindow::resetLocalCursor()
{
hideLocalCursor();
- XDefineCursor(dpy, win(), dotCursor);
+ setNoCursor();
cursorAvailable = false;
}
@@ -226,7 +223,7 @@
if (!getPF().equal(cursor.getPF()) ||
cursor.getRect().is_empty()) {
vlog.error("attempting to render invalid local cursor");
- XDefineCursor(dpy, win(), dotCursor);
+ setNoCursor();
cursorAvailable = false;
return;
}