From a492e2a8f32cbd34b598b6886e330847a1ac0bda Mon Sep 17 00:00:00 2001 From: James Muehlner Date: Mon, 8 Feb 2016 21:39:58 -0800 Subject: [PATCH] GUAC-1480: Fix broken menu clipboard regression. --- .../webapp/app/client/controllers/clientController.js | 9 +++++++-- .../src/main/webapp/app/client/directives/guacClient.js | 6 ++---- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/guacamole/src/main/webapp/app/client/controllers/clientController.js b/guacamole/src/main/webapp/app/client/controllers/clientController.js index 99bf72328..e1b5c991b 100644 --- a/guacamole/src/main/webapp/app/client/controllers/clientController.js +++ b/guacamole/src/main/webapp/app/client/controllers/clientController.js @@ -372,13 +372,18 @@ angular.module('client').controller('clientController', ['$scope', '$routeParams // Send clipboard data if menu is hidden if (!menuShown && menuShownPreviousState) - $scope.$broadcast('guacClipboard', 'text/plain', $scope.client.clipboardData); + $scope.$broadcast('guacClipboard', 'text/plain', $scope.client.clipboardData); // Disable client keyboard if the menu is shown $scope.client.clientProperties.keyboardEnabled = !menuShown; }); - + + // Update remote clipboard if local clipboard changes + $scope.$on('guacClipboard', function onClipboard(event, mimetype, data) { + $scope.client.clipboardData = data; + }); + $scope.$on('guacKeydown', function keydownListener(event, keysym, keyboard) { keysCurrentlyPressed[keysym] = true; diff --git a/guacamole/src/main/webapp/app/client/directives/guacClient.js b/guacamole/src/main/webapp/app/client/directives/guacClient.js index f12cc79ee..31f17fd03 100644 --- a/guacamole/src/main/webapp/app/client/directives/guacClient.js +++ b/guacamole/src/main/webapp/app/client/directives/guacClient.js @@ -413,11 +413,9 @@ angular.module('client').directive('guacClient', [function guacClient() { }; // Update remote clipboard if local clipboard changes - $scope.$on('guacClipboard', function onClipboard(event, mimetype, data) { - if (client && data !== $scope.client.clipboardData) { + $scope.$watch('client.clipboardData', function clipboardChanged(data) { + if (client) client.setClipboard(data); - $scope.client.clipboardData = data; - } }); // Translate local keydown events to remote keydown events if keyboard is enabled