summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--vxi11_server.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/vxi11_server.c b/vxi11_server.c
index 9c697d9..d518fe4 100644
--- a/vxi11_server.c
+++ b/vxi11_server.c
@@ -123,6 +123,12 @@ static bool waitForLock(Device_Flags flags, long timeout) {
static void freelink(ActiveLink* link) {
links[link->lid] = NULL;
globals.Remote.vxi_connections--;
+
+ if (globals.Remote.vxi_connections == 0) {
+ // cancel any remaining panel locks
+ globals.Remote.vxi_panel_lock = 0;
+ }
+
#ifdef DEBUG
printf("link %d destroyed, %d active links\n", link->lid, globals.Remote.vxi_connections);
#endif