From c7056bbf7b320a5855760c6b6ecd3f14606e5306 Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Fri, 21 Nov 2014 18:31:16 -0600 Subject: Fix VT switch showing previous users desktop for a short time --- tdmlib/dmctl.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'tdmlib/dmctl.cpp') diff --git a/tdmlib/dmctl.cpp b/tdmlib/dmctl.cpp index c4fc0a5dd..6ee7722a2 100644 --- a/tdmlib/dmctl.cpp +++ b/tdmlib/dmctl.cpp @@ -392,13 +392,17 @@ DM::switchVT( int vt ) void DM::lockSwitchVT( int vt ) { - if (switchVT( vt )) { + if (isSwitchable()) { TQByteArray data; TQCString replyType; TQByteArray replyData; // Block here until lock is complete // If this is not done the desktop of the locked session will be shown after VT switch until the lock fully engages! kapp->dcopClient()->call("kdesktop", "KScreensaverIface", "lock()", data, replyType, replyData); + if (!switchVT( vt )) { + // Switching VT failed; unlock... + kapp->dcopClient()->call("kdesktop", "KScreensaverIface", "unlock()", data, replyType, replyData); + } } } -- cgit v1.2.1