Przeglądaj źródła

Fixes #428 - hides the local cursor when using the server-side cursor.

samhed 10 lat temu
rodzic
commit
b804b3e458
2 zmienionych plików z 10 dodań i 2 usunięć
  1. 6 1
      include/display.js
  2. 4 1
      include/rfb.js

+ 6 - 1
include/display.js

@@ -93,13 +93,14 @@ var Display;
                     this._cursor_uri = true;
                 }
                 Util.Info("Data URI scheme cursor supported");
+                this._target.style.cursor = curSave;
             } else {
                 if (this._cursor_uri === null || this._cursor_uri === undefined) {
                     this._cursor_uri = false;
                 }
                 Util.Warn("Data URI scheme cursor not supported");
+                this._target.style.cursor = "none";
             }
-            this._target.style.cursor = curSave;
         } catch (exc) {
             Util.Error("Data URI scheme cursor test exception: " + exc);
             this._cursor_uri = false;
@@ -470,6 +471,10 @@ var Display;
             this._target.style.cursor = "default";
         },
 
+        disableLocalCursor: function () {
+            this._target.style.cursor = "none";
+        },
+
         // Overridden getters/setters
         get_context: function () {
             return this._drawCtx;

+ 4 - 1
include/rfb.js

@@ -411,7 +411,9 @@ var RFB;
                 if (this._display && this._display.get_context()) {
                     this._keyboard.ungrab();
                     this._mouse.ungrab();
-                    this._display.defaultCursor();
+                    if (state !== 'connect' && state !== 'loaded') {
+                        this._display.defaultCursor();
+                    }
                     if (Util.get_logging() !== 'debug' || state === 'loaded') {
                         // Show noVNC logo on load and when disconnected, unless in
                         // debug mode
@@ -1215,6 +1217,7 @@ var RFB;
     RFB.prototype.set_local_cursor = function (cursor) {
         if (!cursor || (cursor in {'0': 1, 'no': 1, 'false': 1})) {
             this._local_cursor = false;
+            this._display.disableLocalCursor(); //Only show server-side cursor
         } else {
             if (this._display.get_cursor_uri()) {
                 this._local_cursor = true;