diff options
Diffstat (limited to 'vxi11_server.c')
-rw-r--r-- | vxi11_server.c | 6 |
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 |