SYNERGY-1089 No notification between clients (#7064)

* SYNERGY-1089 There is no notification if user moves pointer between clients

* SYNERGY-1089 There is no notification if user moves pointer between 2 clients

* Update ChangeLog
This commit is contained in:
SerhiiGadzhilov 2021-08-04 15:12:01 +03:00 committed by GitHub
parent e0bd2d1baa
commit 1a38713ff8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 20 additions and 30 deletions

View File

@ -15,6 +15,7 @@ Bug fixes:
- #7055 Add secure input notification on Linux
- #7052 Add secure input notification on Windows
- #7047 | #7060 Fix prevent sleep option on Mac and Windows
- #7064 There is no secure input notification if user moves pointer between clients
Enhancements:
- #6998 Remove functionality related to the screen saver synchronisation

View File

@ -59,7 +59,6 @@ enum {
kCarbonLoopWaitTimeout = 10
};
void createSecureInputNotification();
int getSecureInputEventPID();
String getProcessName(int pid);
@ -875,12 +874,8 @@ OSXScreen::enter()
bool
OSXScreen::leave()
{
if(m_isPrimary && IsSecureEventInputEnabled()) {
createSecureInputNotification();
}
hideCursor();
if (isDraggingStarted()) {
String& fileList = getDraggingFilename();
@ -2152,23 +2147,6 @@ OSXScreen::getSecureInputApp() const
return "";
}
void
createSecureInputNotification()
{
int secureInputProcessPID = getSecureInputEventPID();
String app = getProcessName(secureInputProcessPID);
if(secureInputProcessPID == 0) app = "unknown";
String secureInputNotificationBody =
"'Secure input' enabled by " + app + ". " \
"Close " + app + " to continue using keyboards on the clients.";
// display this notification on the server
AppUtil::instance().showNotification(
"The client keyboards may stop working.",
secureInputNotificationBody);
}
int
getSecureInputEventPID()
{

View File

@ -21,7 +21,7 @@
#include "synergy/Screen.h"
#include "synergy/Clipboard.h"
#include "base/Log.h"
#include "synergy/AppUtil.h"
//
// PrimaryClient
//
@ -270,7 +270,13 @@ PrimaryClient::getSecureInputApp() const
void
PrimaryClient::secureInputNotification(const String& app) const
{
// ignore
String secureInputNotificationBody =
"'Secure input' enabled by " + app + ". " \
"Close " + app + " to continue using keyboards on the clients.";
AppUtil::instance().showNotification(
"The client keyboards may stop working.",
secureInputNotificationBody);
}
void

View File

@ -511,12 +511,17 @@ Server::switchScreen(BaseClientProxy* dst,
}
}
#if defined(__APPLE__)
String secureInputApplication = m_active->getSecureInputApp();
if (m_active == m_primaryClient && secureInputApplication != "") {
dst->secureInputNotification(secureInputApplication);
}
if (dst != m_primaryClient) {
String secureInputApplication = m_primaryClient->getSecureInputApp();
if (secureInputApplication != "") {
// display notification on the server
m_primaryClient->secureInputNotification(secureInputApplication);
//display notification on the client
dst->secureInputNotification(secureInputApplication);
}
}
#endif
// cut over