summaryrefslogtreecommitdiffstats
path: root/client/foreign_menu.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'client/foreign_menu.cpp')
-rw-r--r--client/foreign_menu.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/client/foreign_menu.cpp b/client/foreign_menu.cpp
index faef4c27..1010bfba 100644
--- a/client/foreign_menu.cpp
+++ b/client/foreign_menu.cpp
@@ -44,7 +44,13 @@ ForeignMenu::ForeignMenu(ForeignMenuInterface *handler, bool active)
char pipe_name[PIPE_NAME_MAX_LEN];
ASSERT(_handler != NULL);
- snprintf(pipe_name, PIPE_NAME_MAX_LEN, PIPE_NAME, Platform::get_process_id());
+#ifndef WIN32
+ const char *p_socket = getenv("SPICE_FOREIGN_MENU_SOCKET");
+ if (p_socket)
+ strncpy(pipe_name, p_socket, sizeof(pipe_name));
+ else
+#endif
+ snprintf(pipe_name, PIPE_NAME_MAX_LEN, PIPE_NAME, Platform::get_process_id());
LOG_INFO("Creating a foreign menu connection %s", pipe_name);
_foreign_menu = NamedPipe::create(pipe_name, *this);
if (!_foreign_menu) {