- 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)
84 lines
2.5 KiB
Diff
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;
|
|
}
|