Send cursor pseudo-encodings in order of preference
Some servers respect the ordering of pseudo-encodings as well, so
make sure we list the best one first.
diff --git a/common/rfb/CMsgWriter.cxx b/common/rfb/CMsgWriter.cxx
index 8576d8f..fa78404 100644
--- a/common/rfb/CMsgWriter.cxx
+++ b/common/rfb/CMsgWriter.cxx
@@ -72,9 +72,9 @@
rdr::U32 encodings[encodingMax+3];
if (cp->supportsLocalCursor) {
- encodings[nEncodings++] = pseudoEncodingXCursor;
- encodings[nEncodings++] = pseudoEncodingCursor;
encodings[nEncodings++] = pseudoEncodingCursorWithAlpha;
+ encodings[nEncodings++] = pseudoEncodingCursor;
+ encodings[nEncodings++] = pseudoEncodingXCursor;
}
if (cp->supportsDesktopResize)
encodings[nEncodings++] = pseudoEncodingDesktopSize;
diff --git a/java/com/tigervnc/rfb/CMsgWriter.java b/java/com/tigervnc/rfb/CMsgWriter.java
index d99f26c..ea2b7c9 100644
--- a/java/com/tigervnc/rfb/CMsgWriter.java
+++ b/java/com/tigervnc/rfb/CMsgWriter.java
@@ -65,10 +65,10 @@
int[] encodings = new int[Encodings.encodingMax+3];
if (cp.supportsLocalCursor) {
- encodings[nEncodings++] = Encodings.pseudoEncodingXCursor;
- encodings[nEncodings++] = Encodings.pseudoEncodingCursor;
if (cp.supportsLocalCursorWithAlpha)
encodings[nEncodings++] = Encodings.pseudoEncodingCursorWithAlpha;
+ encodings[nEncodings++] = Encodings.pseudoEncodingCursor;
+ encodings[nEncodings++] = Encodings.pseudoEncodingXCursor;
}
if (cp.supportsDesktopResize)
encodings[nEncodings++] = Encodings.pseudoEncodingDesktopSize;