summaryrefslogtreecommitdiffstats
path: root/kdesktop/lock
diff options
context:
space:
mode:
Diffstat (limited to 'kdesktop/lock')
-rw-r--r--kdesktop/lock/CMakeLists.txt2
-rw-r--r--kdesktop/lock/autologout.cpp2
-rw-r--r--kdesktop/lock/infodlg.cpp2
-rw-r--r--kdesktop/lock/lockdlg.cpp44
-rw-r--r--kdesktop/lock/lockprocess.cpp256
-rw-r--r--kdesktop/lock/lockprocess.h5
-rw-r--r--kdesktop/lock/main.cpp136
-rw-r--r--kdesktop/lock/querydlg.cpp4
-rw-r--r--kdesktop/lock/sakdlg.cpp4
-rw-r--r--kdesktop/lock/securedlg.cpp12
10 files changed, 237 insertions, 230 deletions
diff --git a/kdesktop/lock/CMakeLists.txt b/kdesktop/lock/CMakeLists.txt
index 8f3e49e16..abeebb3d2 100644
--- a/kdesktop/lock/CMakeLists.txt
+++ b/kdesktop/lock/CMakeLists.txt
@@ -41,7 +41,7 @@ set( ${target}_SRCS
tde_add_executable( ${target} AUTOMOC
SOURCES ${${target}_SRCS}
LINK kdesktopsettings-static dmctl-static tdeio-shared Xext ${TDEHW_LIBRARIES}
- pthread ${GL_LIBRARIES}
+ ${CMAKE_THREAD_LIBS_INIT} ${GL_LIBRARIES}
"${LINKER_IMMEDIATE_BINDING_FLAGS}"
DESTINATION ${BIN_INSTALL_DIR}
)
diff --git a/kdesktop/lock/autologout.cpp b/kdesktop/lock/autologout.cpp
index 19c6d1e28..ee1d8e1db 100644
--- a/kdesktop/lock/autologout.cpp
+++ b/kdesktop/lock/autologout.cpp
@@ -83,7 +83,7 @@ AutoLogout::AutoLogout(LockProcess *parent) : TQDialog(parent, "password dialog"
mCountdownTimerId = startTimer(1000/25);
- connect(tqApp, TQT_SIGNAL(activity()), TQT_SLOT(slotActivity()));
+ connect(tqApp, TQ_SIGNAL(activity()), TQ_SLOT(slotActivity()));
setFixedSize( sizeHint() );
}
diff --git a/kdesktop/lock/infodlg.cpp b/kdesktop/lock/infodlg.cpp
index 6fc604b43..a37c92b8e 100644
--- a/kdesktop/lock/infodlg.cpp
+++ b/kdesktop/lock/infodlg.cpp
@@ -14,7 +14,7 @@
#include <tdelocale.h>
#include <kpushbutton.h>
#include <kseparator.h>
-#include <kstandarddirs.h>
+#include <tdestandarddirs.h>
#include <tdeglobalsettings.h>
#include <tdeconfig.h>
#include <kiconloader.h>
diff --git a/kdesktop/lock/lockdlg.cpp b/kdesktop/lock/lockdlg.cpp
index 969dcb77a..c5d3d1aea 100644
--- a/kdesktop/lock/lockdlg.cpp
+++ b/kdesktop/lock/lockdlg.cpp
@@ -20,8 +20,8 @@
#include <tdelocale.h>
#include <kpushbutton.h>
#include <kseparator.h>
-#include <kstandarddirs.h>
-#include <ksimpleconfig.h>
+#include <tdestandarddirs.h>
+#include <tdesimpleconfig.h>
#include <tdeglobalsettings.h>
#include <tdeconfig.h>
#include <kiconloader.h>
@@ -237,14 +237,14 @@ void PasswordDlg::init(GreeterPluginHandle *plugin)
}
setTabOrder( mNewSessButton, mLayoutButton );
- connect(mLayoutButton, TQT_SIGNAL(clicked()), this, TQT_SLOT(layoutClicked()));
+ connect(mLayoutButton, TQ_SIGNAL(clicked()), this, TQ_SLOT(layoutClicked()));
if (show_cancel_button) {
- connect(cancel, TQT_SIGNAL(clicked()), TQT_SLOT(reject()));
+ connect(cancel, TQ_SIGNAL(clicked()), TQ_SLOT(reject()));
}
- connect(ok, TQT_SIGNAL(clicked()), TQT_SLOT(slotOK()));
- connect(mNewSessButton, TQT_SIGNAL(clicked()), TQT_SLOT(slotSwitchUser()));
+ connect(ok, TQ_SIGNAL(clicked()), TQ_SLOT(slotOK()));
+ connect(mNewSessButton, TQ_SIGNAL(clicked()), TQ_SLOT(slotSwitchUser()));
- if (!DM().isSwitchable() || !kapp->authorize("switch_user")) {
+ if (!DM().isSwitchable() || !tdeApp->authorize("switch_user")) {
mNewSessButton->hide();
}
@@ -253,7 +253,7 @@ void PasswordDlg::init(GreeterPluginHandle *plugin)
mFailedTimerId = 0;
mTimeoutTimerId = startTimer(PASSDLG_HIDE_TIMEOUT);
- connect(tqApp, TQT_SIGNAL(activity()), TQT_SLOT(slotActivity()) );
+ connect(tqApp, TQ_SIGNAL(activity()), TQ_SLOT(slotActivity()) );
greet->setInfoMessageDisplay(showInfoMessages);
greet->start();
@@ -568,7 +568,7 @@ void PasswordDlg::handleVerify()
TQString autoPIN = cdevice->autoPIN();
if (autoPIN != TQString::null) {
greet->setPassword(autoPIN);
- TQTimer::singleShot(0, this, SLOT(slotOK()));
+ TQTimer::singleShot(0, this, TQ_SLOT(slotOK()));
}
}
mCardLoginInProgress = false;
@@ -712,7 +712,7 @@ void PasswordDlg::gplugMsgBox( TQMessageBox::Icon type, const TQString &text )
KPushButton *button = new KPushButton( KStdGuiItem::ok(), winFrame );
button->setDefault( true );
button->setSizePolicy( TQSizePolicy( TQSizePolicy::Preferred, TQSizePolicy::Preferred ) );
- connect( button, TQT_SIGNAL( clicked() ), TQT_SLOT( accept() ) );
+ connect( button, TQ_SIGNAL( clicked() ), TQ_SLOT( accept() ) );
TQGridLayout *grid = new TQGridLayout( winFrame, 2, 2, 10 );
grid->addWidget( label1, 0, 0, TQt::AlignCenter );
@@ -783,9 +783,9 @@ void PasswordDlg::slotStartNewSession()
TQLabel *label2 = new TQLabel( qt_text, winFrame );
KPushButton *okbutton = new KPushButton( KGuiItem(i18n("&Start New Session"), "fork"), winFrame );
okbutton->setDefault( true );
- connect( okbutton, TQT_SIGNAL( clicked() ), dialog, TQT_SLOT( accept() ) );
+ connect( okbutton, TQ_SIGNAL( clicked() ), dialog, TQ_SLOT( accept() ) );
KPushButton *cbutton = new KPushButton( KStdGuiItem::cancel(), winFrame );
- connect( cbutton, TQT_SIGNAL( clicked() ), dialog, TQT_SLOT( reject() ) );
+ connect( cbutton, TQ_SIGNAL( clicked() ), dialog, TQ_SLOT( reject() ) );
TQBoxLayout *mbox = new TQVBoxLayout( winFrame, KDialog::marginHint(), KDialog::spacingHint() );
@@ -901,8 +901,8 @@ void PasswordDlg::slotSwitchUser()
SessList sess;
if (dm.localSessions( sess )) {
lv = new TQListView( winFrame );
- connect( lv, TQT_SIGNAL(doubleClicked(TQListViewItem *, const TQPoint&, int)), TQT_SLOT(slotSessionActivated()) );
- connect( lv, TQT_SIGNAL(doubleClicked(TQListViewItem *, const TQPoint&, int)), &dialog, TQT_SLOT(accept()) );
+ connect( lv, TQ_SIGNAL(doubleClicked(TQListViewItem *, const TQPoint&, int)), TQ_SLOT(slotSessionActivated()) );
+ connect( lv, TQ_SIGNAL(doubleClicked(TQListViewItem *, const TQPoint&, int)), &dialog, TQ_SLOT(accept()) );
lv->setAllColumnsShowFocus( true );
lv->addColumn( i18n("Session") );
lv->addColumn( i18n("Location") );
@@ -933,16 +933,16 @@ void PasswordDlg::slotSwitchUser()
vbox1->addWidget( lv );
btn = new KPushButton( KGuiItem(i18n("session", "&Activate"), "fork"), winFrame );
- connect( btn, TQT_SIGNAL(clicked()), TQT_SLOT(slotSessionActivated()) );
- connect( btn, TQT_SIGNAL(clicked()), &dialog, TQT_SLOT(accept()) );
+ connect( btn, TQ_SIGNAL(clicked()), TQ_SLOT(slotSessionActivated()) );
+ connect( btn, TQ_SIGNAL(clicked()), &dialog, TQ_SLOT(accept()) );
vbox2->addWidget( btn );
vbox2->addStretch( 2 );
}
- if (kapp->authorize("start_new_session") && (p = dm.numReserve()) >= 0) {
+ if (tdeApp->authorize("start_new_session") && (p = dm.numReserve()) >= 0) {
btn = new KPushButton( KGuiItem(i18n("Start &New Session"), "fork"), winFrame );
- connect( btn, TQT_SIGNAL(clicked()), TQT_SLOT(slotStartNewSession()) );
- connect( btn, TQT_SIGNAL(clicked()), &dialog, TQT_SLOT(accept()) );
+ connect( btn, TQ_SIGNAL(clicked()), TQ_SLOT(slotStartNewSession()) );
+ connect( btn, TQ_SIGNAL(clicked()), &dialog, TQ_SLOT(accept()) );
if (!p)
btn->setEnabled( false );
vbox2->addWidget( btn );
@@ -950,7 +950,7 @@ void PasswordDlg::slotSwitchUser()
}
btn = new KPushButton( KStdGuiItem::cancel(), winFrame );
- connect( btn, TQT_SIGNAL(clicked()), &dialog, TQT_SLOT(reject()) );
+ connect( btn, TQ_SIGNAL(clicked()), &dialog, TQ_SLOT(reject()) );
vbox2->addWidget( btn );
dialog.setFixedSize( dialog.sizeHint() );
@@ -987,7 +987,7 @@ void PasswordDlg::attemptCardLogin() {
#endif
// Make sure card logins are enabled before attempting one
- KSimpleConfig *systemconfig = new KSimpleConfig( TQString::fromLatin1( KDE_CONFDIR "/ldap/ldapconfigrc" ));
+ TDESimpleConfig *systemconfig = new TDESimpleConfig( TQString::fromLatin1( KDE_CONFDIR "/ldap/ldapconfigrc" ));
systemconfig->setGroup(NULL);
bool enabled = systemconfig->readBoolEntry("EnablePKCS11Login", false);
delete systemconfig;
@@ -1015,7 +1015,7 @@ void PasswordDlg::attemptCardLogin() {
// Bypass initial password prompt
greet->start();
greet->setPassword("");
- TQTimer::singleShot(0, this, SLOT(slotOK()));
+ TQTimer::singleShot(0, this, TQ_SLOT(slotOK()));
#endif
}
diff --git a/kdesktop/lock/lockprocess.cpp b/kdesktop/lock/lockprocess.cpp
index f493649f1..2ad89f5ab 100644
--- a/kdesktop/lock/lockprocess.cpp
+++ b/kdesktop/lock/lockprocess.cpp
@@ -38,7 +38,7 @@
#include <dmctl.h>
#include <dcopref.h>
-#include <kstandarddirs.h>
+#include <tdestandarddirs.h>
#include <tdeapplication.h>
#include <kservicegroup.h>
#include <kdebug.h>
@@ -85,7 +85,7 @@
#include <sys/types.h>
#include <fcntl.h>
-#include <kcrash.h>
+#include <tdecrash.h>
#include <pthread.h>
@@ -151,14 +151,6 @@ Atom kde_wm_system_modal_notification = 0;
Atom kde_wm_transparent_to_desktop = 0;
Atom kde_wm_transparent_to_black = 0;
-static void segv_handler(int)
-{
- kdError(KDESKTOP_DEBUG_ID) << "A fatal exception was encountered."
- << " Trapping and ignoring it so as not to compromise desktop security..."
- << kdBacktrace() << endl;
- sleep(1);
-}
-
extern Atom tqt_wm_state;
extern bool trinity_desktop_lock_use_system_modal_dialogs;
extern bool trinity_desktop_lock_delay_screensaver_start;
@@ -166,24 +158,32 @@ extern bool trinity_desktop_lock_use_sak;
extern bool trinity_desktop_lock_hide_active_windows;
extern bool trinity_desktop_lock_hide_cancel_button;
extern bool trinity_desktop_lock_forced;
-
-extern LockProcess* trinity_desktop_lock_process;
+extern bool trinity_desktop_lock_failed_grab;
extern bool argb_visual;
extern pid_t kdesktop_pid;
extern TQXLibWindowList trinity_desktop_lock_hidden_window_list;
-bool trinity_desktop_lock_autohide_lockdlg = TRUE;
+bool trinity_desktop_lock_autohide_lockdlg = true;
+
+static void segv_handler(int)
+{
+ kdError(KDESKTOP_DEBUG_ID) << "A fatal exception was encountered."
+ << " Trapping and ignoring it so as not to compromise desktop security..."
+ << kdBacktrace() << endl;
+
+ sleep(1);
+}
#define ENABLE_CONTINUOUS_LOCKDLG_DISPLAY \
-if (!mForceContinualLockDisplayTimer->isActive()) mForceContinualLockDisplayTimer->start(100, FALSE); \
-trinity_desktop_lock_autohide_lockdlg = FALSE; \
+if (!mForceContinualLockDisplayTimer->isActive()) mForceContinualLockDisplayTimer->start(100, false); \
+trinity_desktop_lock_autohide_lockdlg = false; \
mHackDelayStartupTimer->stop();
#define DISABLE_CONTINUOUS_LOCKDLG_DISPLAY \
mForceContinualLockDisplayTimer->stop(); \
-trinity_desktop_lock_autohide_lockdlg = TRUE; \
+trinity_desktop_lock_autohide_lockdlg = true; \
mHackDelayStartupTimer->stop();
//===========================================================================
@@ -234,7 +234,9 @@ LockProcess::LockProcess()
m_notifyReadyRequested(false),
m_loginCardDevice(NULL),
m_maskWidget(NULL),
- m_saverRootWindow(0)
+ m_saverRootWindow(0),
+ mControlPipeHandler(nullptr),
+ mControlPipeHandlerThread(nullptr)
{
#ifdef KEEP_MOUSE_UNGRABBED
setNFlags(WX11DisableMove|WX11DisableClose|WX11DisableShade|WX11DisableMinimize|WX11DisableMaximize);
@@ -247,7 +249,7 @@ LockProcess::LockProcess()
kde_wm_transparent_to_desktop = XInternAtom(tqt_xdisplay(), "_TDE_TRANSPARENT_TO_DESKTOP", False);
kde_wm_transparent_to_black = XInternAtom(tqt_xdisplay(), "_TDE_TRANSPARENT_TO_BLACK", False);
- kapp->installX11EventFilter(this);
+ tdeApp->installX11EventFilter(this);
mForceContinualLockDisplayTimer = new TQTimer( this );
mHackDelayStartupTimer = new TQTimer( this );
@@ -256,7 +258,7 @@ LockProcess::LockProcess()
if (!argb_visual) {
// Try to get the root pixmap
if (!m_rootPixmap) m_rootPixmap = new KRootPixmap(this);
- connect(m_rootPixmap, TQT_SIGNAL(backgroundUpdated(const TQPixmap &)), this, TQT_SLOT(slotPaintBackground(const TQPixmap &)));
+ connect(m_rootPixmap, TQ_SIGNAL(backgroundUpdated(const TQPixmap &)), this, TQ_SLOT(slotPaintBackground(const TQPixmap &)));
m_rootPixmap->setCustomPainting(true);
m_rootPixmap->start();
}
@@ -305,9 +307,9 @@ LockProcess::LockProcess()
TDEGenericHardwareList cardReaderList = hwdevices->listByDeviceClass(TDEGenericDeviceType::CryptographicCard);
for (hwdevice = cardReaderList.first(); hwdevice; hwdevice = cardReaderList.next()) {
TDECryptographicCardDevice* cdevice = static_cast<TDECryptographicCardDevice*>(hwdevice);
- // connect(cdevice, SIGNAL(pinRequested(TQString,TDECryptographicCardDevice*)), this, SLOT(cryptographicCardPinRequested(TQString,TDECryptographicCardDevice*)));
- connect(cdevice, TQT_SIGNAL(certificateListAvailable(TDECryptographicCardDevice*)), this, TQT_SLOT(cryptographicCardInserted(TDECryptographicCardDevice*)));
- connect(cdevice, TQT_SIGNAL(cardRemoved(TDECryptographicCardDevice*)), this, TQT_SLOT(cryptographicCardRemoved(TDECryptographicCardDevice*)));
+ // connect(cdevice, TQ_SIGNAL(pinRequested(TQString,TDECryptographicCardDevice*)), this, TQ_SLOT(cryptographicCardPinRequested(TQString,TDECryptographicCardDevice*)));
+ connect(cdevice, TQ_SIGNAL(certificateListAvailable(TDECryptographicCardDevice*)), this, TQ_SLOT(cryptographicCardInserted(TDECryptographicCardDevice*)));
+ connect(cdevice, TQ_SIGNAL(cardRemoved(TDECryptographicCardDevice*)), this, TQ_SLOT(cryptographicCardRemoved(TDECryptographicCardDevice*)));
cdevice->enableCardMonitoring(true);
// cdevice->enablePINEntryCallbacks(true);
}
@@ -331,8 +333,6 @@ LockProcess::~LockProcess()
mControlPipeHandler->terminateThread();
mControlPipeHandlerThread->wait();
delete mControlPipeHandler;
-// delete mControlPipeHandlerThread;
-
if (resizeTimer != NULL) {
resizeTimer->stop();
delete resizeTimer;
@@ -388,12 +388,12 @@ void LockProcess::init(bool child, bool useBlankOnly)
generateBackingImages();
// Connect all signals
- connect( mForceContinualLockDisplayTimer, TQT_SIGNAL(timeout()), this, TQT_SLOT(displayLockDialogIfNeeded()) );
- connect( mHackDelayStartupTimer, TQT_SIGNAL(timeout()), this, TQT_SLOT(closeDialogAndStartHack()) );
- connect( mEnsureVRootWindowSecurityTimer, TQT_SIGNAL(timeout()), this, TQT_SLOT(repaintRootWindowIfNeeded()) );
- connect(tqApp, TQT_SIGNAL(mouseInteraction(XEvent *)), TQT_SLOT(slotMouseActivity(XEvent *)));
- connect(&mHackProc, TQT_SIGNAL(processExited(TDEProcess *)), TQT_SLOT(hackExited(TDEProcess *)));
- connect(&mSuspendTimer, TQT_SIGNAL(timeout()), TQT_SLOT(suspend()));
+ connect( mForceContinualLockDisplayTimer, TQ_SIGNAL(timeout()), this, TQ_SLOT(displayLockDialogIfNeeded()) );
+ connect( mHackDelayStartupTimer, TQ_SIGNAL(timeout()), this, TQ_SLOT(closeDialogAndStartHack()) );
+ connect( mEnsureVRootWindowSecurityTimer, TQ_SIGNAL(timeout()), this, TQ_SLOT(repaintRootWindowIfNeeded()) );
+ connect(tqApp, TQ_SIGNAL(mouseInteraction(XEvent *)), TQ_SLOT(slotMouseActivity(XEvent *)));
+ connect(&mHackProc, TQ_SIGNAL(processExited(TDEProcess *)), TQ_SLOT(hackExited(TDEProcess *)));
+ connect(&mSuspendTimer, TQ_SIGNAL(timeout()), TQ_SLOT(suspend()));
#ifdef HAVE_DPMS
//if the user decided that the screensaver should run independent from
@@ -403,7 +403,7 @@ void LockProcess::init(bool child, bool useBlankOnly)
CARD16 state;
if (DPMSInfo(tqt_xdisplay(), &state, &on)) {
if (on) {
- connect(&mCheckDPMS, TQT_SIGNAL(timeout()), TQT_SLOT(checkDPMSActive()));
+ connect(&mCheckDPMS, TQ_SIGNAL(timeout()), TQ_SLOT(checkDPMSActive()));
// we can save CPU if we stop it as quickly as possible
// but we waste CPU if we check too often -> so take 10s
mCheckDPMS.start(10000);
@@ -412,9 +412,7 @@ void LockProcess::init(bool child, bool useBlankOnly)
}
#endif
-#if (TQT_VERSION-0 >= 0x030200) // XRANDR support
- connect( kapp->desktop(), TQT_SIGNAL( resized( int )), TQT_SLOT( desktopResized()));
-#endif
+ connect( tdeApp->desktop(), TQ_SIGNAL( resized( int )), TQ_SLOT( desktopResized()));
if (!trinity_desktop_lock_use_system_modal_dialogs) {
setWFlags((WFlags)WX11BypassWM);
@@ -435,21 +433,25 @@ void LockProcess::init(bool child, bool useBlankOnly)
mControlPipeHandler = new ControlPipeHandlerObject();
mControlPipeHandler->mParent = this;
mControlPipeHandler->moveToThread(mControlPipeHandlerThread);
- TQObject::connect(mControlPipeHandler, SIGNAL(processCommand(TQString)), this, SLOT(processInputPipeCommand(TQString)));
- TQTimer::singleShot(0, mControlPipeHandler, SLOT(run()));
+ TQObject::connect(mControlPipeHandler, TQ_SIGNAL(processCommand(TQString)), this, TQ_SLOT(processInputPipeCommand(TQString)));
+ TQTimer::singleShot(0, mControlPipeHandler, TQ_SLOT(run()));
mControlPipeHandlerThread->start();
+ // If the lock process terminates before 'mControlPipeHandler::run()' has been called, the
+ // 'mControlPipeHandlerThread' thread would not terminate and the lock process would have a
+ // dirty exit, potentially leaving 'kdesktop' in a dirty state that prevents the lock from
+ // working correctly till 'kdesktop' is killed and restarted. By forcing a call to 'processEvents()'
+ // we make sure to handle pending timer events and execute the required call
+ tdeApp->processEvents();
}
static int signal_pipe[2];
static void sigterm_handler(int)
{
- if ((!trinity_desktop_lock_process) || (!trinity_desktop_lock_process->inSecureDialog())) {
- // Exit uncleanly
- char tmp = 'U';
- if (::write( signal_pipe[1], &tmp, 1) == -1) {
- // Error handler to shut up gcc warnings
- }
+ // Exit uncleanly
+ char tmp = 'U';
+ if (::write( signal_pipe[1], &tmp, 1) == -1) {
+ // Error handler to shut up gcc warnings
}
}
@@ -463,7 +465,7 @@ static void sighup_handler(int)
bool LockProcess::closeCurrentWindow()
{
- mClosingWindows = TRUE;
+ mClosingWindows = true;
if (currentDialog != NULL) {
mForceReject = true;
if (dynamic_cast<SAKDlg*>(currentDialog)) {
@@ -478,12 +480,12 @@ bool LockProcess::closeCurrentWindow()
}
if( mDialogs.isEmpty() ) {
- mClosingWindows = FALSE;
+ mClosingWindows = false;
mForceReject = false;
return false;
}
else {
- mClosingWindows = TRUE;
+ mClosingWindows = true;
return true;
}
}
@@ -534,7 +536,7 @@ void LockProcess::setupSignals()
// Error handler to shut up gcc warnings
}
TQSocketNotifier* notif = new TQSocketNotifier(signal_pipe[0], TQSocketNotifier::Read, this );
- connect( notif, TQT_SIGNAL(activated(int)), TQT_SLOT(signalPipeSignal()));
+ connect( notif, TQ_SIGNAL(activated(int)), TQ_SLOT(signalPipeSignal()));
}
@@ -552,9 +554,11 @@ void LockProcess::signalPipeSignal()
startLock();
}
else if( tmp == 'U' ) {
- // Exit uncleanly
- quitSaver();
- exit(1);
+ if (!inSecureDialog()) {
+ // Exit uncleanly
+ quitSaver();
+ exit(1);
+ }
}
}
@@ -566,7 +570,7 @@ bool LockProcess::lock()
m_startupStatusDialog->setStatusMessage(i18n("Securing desktop session").append("..."));
m_startupStatusDialog->show();
m_startupStatusDialog->setActiveWindow();
- tqApp->processEvents();
+ tdeApp->processEvents();
#endif
if (startSaver(true)) {
@@ -577,7 +581,7 @@ bool LockProcess::lock()
// selecting "lock screen", that looks really untidy.
mBusy = true;
if (startLock()) {
- TQTimer::singleShot(1000, this, TQT_SLOT(slotDeadTimePassed()));
+ TQTimer::singleShot(1000, this, TQ_SLOT(slotDeadTimePassed()));
return true;
}
stopSaver();
@@ -598,7 +602,7 @@ bool LockProcess::defaultSave()
mOverrideHackStartupEnabled = true;
if (startSaver()) {
if (mLockGrace >= 0) {
- TQTimer::singleShot(mLockGrace, this, TQT_SLOT(startLock()));
+ TQTimer::singleShot(mLockGrace, this, TQ_SLOT(startLock()));
}
return true;
}
@@ -618,18 +622,18 @@ void LockProcess::quitSaver()
{
DISABLE_CONTINUOUS_LOCKDLG_DISPLAY
if (closeCurrentWindow()) {
- TQTimer::singleShot( 0, this, SLOT(quitSaver()) );
+ TQTimer::singleShot( 0, this, TQ_SLOT(quitSaver()) );
return;
}
stopSaver();
- kapp->quit();
+ tdeApp->quit();
}
//---------------------------------------------------------------------------
void LockProcess::startSecureDialog()
{
if ((backingPixmap.isNull()) && (mBackingStartupDelayTimer < 100)) {
- TQTimer::singleShot(10, this, TQT_SLOT(startSecureDialog()));
+ TQTimer::singleShot(10, this, TQ_SLOT(startSecureDialog()));
mBackingStartupDelayTimer++;
return;
}
@@ -650,7 +654,7 @@ void LockProcess::startSecureDialog()
mInSecureDialog = false;
if (ret == 0) {
mClosingWindows = 1;
- kapp->quit();
+ tdeApp->quit();
}
if (ret == 1) {
// In case of a forced lock we don't react to events during
@@ -668,11 +672,11 @@ void LockProcess::startSecureDialog()
mBusy = false;
}
else {
- TQTimer::singleShot(1000, this, TQT_SLOT(slotDeadTimePassed()));
+ TQTimer::singleShot(1000, this, TQ_SLOT(slotDeadTimePassed()));
}
if (trinity_desktop_lock_delay_screensaver_start && trinity_desktop_lock_forced && trinity_desktop_lock_use_system_modal_dialogs) {
ENABLE_CONTINUOUS_LOCKDLG_DISPLAY
- if (mHackStartupEnabled) mHackDelayStartupTimer->start(mHackDelayStartupTimeout, TRUE);
+ if (mHackStartupEnabled) mHackDelayStartupTimer->start(mHackDelayStartupTimeout, true);
}
else {
if (mHackStartupEnabled == true) {
@@ -681,7 +685,7 @@ void LockProcess::startSecureDialog()
else {
if (trinity_desktop_lock_use_system_modal_dialogs == true) {
ENABLE_CONTINUOUS_LOCKDLG_DISPLAY
- if (mHackStartupEnabled) mHackDelayStartupTimer->start(mHackDelayStartupTimeout, TRUE);
+ if (mHackStartupEnabled) mHackDelayStartupTimer->start(mHackDelayStartupTimeout, true);
}
else {
startHack();
@@ -699,18 +703,18 @@ void LockProcess::startSecureDialog()
if (system("ksysguard &") == -1) {
// Error handler to shut up gcc warnings
}
- kapp->quit();
+ tdeApp->quit();
}
if (ret == 3) {
mClosingWindows = 1;
DCOPRef("ksmserver","ksmserver").send("logout", (int)TDEApplication::ShutdownConfirmYes, (int)TDEApplication::ShutdownTypeNone, (int)TDEApplication::ShutdownModeInteractive);
- kapp->quit();
+ tdeApp->quit();
}
// FIXME
// Handle remaining case (switch user)
if (forcecontdisp) {
ENABLE_CONTINUOUS_LOCKDLG_DISPLAY
- if (mHackStartupEnabled) mHackDelayStartupTimer->start(mHackDelayStartupTimeout, TRUE);
+ if (mHackStartupEnabled) mHackDelayStartupTimer->start(mHackDelayStartupTimeout, true);
}
stopSaver();
}
@@ -722,13 +726,13 @@ bool LockProcess::runSecureDialog()
m_startupStatusDialog->setStatusMessage(i18n("Securing desktop session").append("..."));
m_startupStatusDialog->show();
m_startupStatusDialog->setActiveWindow();
- tqApp->processEvents();
+ tdeApp->processEvents();
#endif
mInSecureDialog = true;
if (startSaver()) {
mBackingStartupDelayTimer = 0;
- TQTimer::singleShot(0, this, TQT_SLOT(startSecureDialog()));
+ TQTimer::singleShot(0, this, TQ_SLOT(startSecureDialog()));
return true;
}
else {
@@ -798,9 +802,9 @@ void LockProcess::readSaver()
if (!mSaver.isEmpty()) {
TQString file = locate("scrsav", mSaver);
- bool opengl = kapp->authorize("opengl_screensavers");
- bool manipulatescreen = kapp->authorize("manipulatescreen_screensavers");
- KDesktopFile config(file, true);
+ bool opengl = tdeApp->authorize("opengl_screensavers");
+ bool manipulatescreen = tdeApp->authorize("manipulatescreen_screensavers");
+ TDEDesktopFile config(file, true);
if (config.readEntry("X-TDE-Type").utf8() != 0) {
TQString saverType = config.readEntry("X-TDE-Type").utf8();
TQStringList saverTypes = TQStringList::split(";", saverType);
@@ -1040,7 +1044,7 @@ void LockProcess::desktopResized()
}
else {
mEnsureScreenHiddenTimer = new TQTimer( this );
- connect( mEnsureScreenHiddenTimer, TQT_SIGNAL(timeout()), this, TQT_SLOT(slotForcePaintBackground()) );
+ connect( mEnsureScreenHiddenTimer, TQ_SIGNAL(timeout()), this, TQ_SLOT(slotForcePaintBackground()) );
}
mEnsureScreenHiddenTimer->start(DESKTOP_WALLPAPER_OBTAIN_TIMEOUT_MS, true);
}
@@ -1063,9 +1067,9 @@ void LockProcess::desktopResized()
// being displayed, so we finish the hack restarting/display prettying operations in a separate timed slot
if (resizeTimer == NULL) {
resizeTimer = new TQTimer( this );
- connect( resizeTimer, TQT_SIGNAL(timeout()), this, TQT_SLOT(doDesktopResizeFinish()) );
+ connect( resizeTimer, TQ_SIGNAL(timeout()), this, TQ_SLOT(doDesktopResizeFinish()) );
}
- resizeTimer->start( 100, TRUE ); // 100 millisecond single shot timer; should allow display switching operations to finish before hack is started
+ resizeTimer->start( 100, true ); // 100 millisecond single shot timer; should allow display switching operations to finish before hack is started
}
void LockProcess::doDesktopResizeFinish()
@@ -1075,7 +1079,7 @@ void LockProcess::doDesktopResizeFinish()
}
mDialogControlLock = true;
if (closeCurrentWindow()) {
- TQTimer::singleShot( 0, this, SLOT(doDesktopResizeFinish()) );
+ TQTimer::singleShot( 0, this, TQ_SLOT(doDesktopResizeFinish()) );
mDialogControlLock = false;
return;
}
@@ -1084,7 +1088,7 @@ void LockProcess::doDesktopResizeFinish()
// Restart the hack as the window size is now different
if (trinity_desktop_lock_delay_screensaver_start && trinity_desktop_lock_use_system_modal_dialogs) {
ENABLE_CONTINUOUS_LOCKDLG_DISPLAY
- if (mHackStartupEnabled) mHackDelayStartupTimer->start(mHackDelayStartupTimeout, TRUE);
+ if (mHackStartupEnabled) mHackDelayStartupTimer->start(mHackDelayStartupTimeout, true);
}
else {
if (mHackStartupEnabled == true) {
@@ -1093,7 +1097,7 @@ void LockProcess::doDesktopResizeFinish()
else {
if (trinity_desktop_lock_use_system_modal_dialogs == true) {
ENABLE_CONTINUOUS_LOCKDLG_DISPLAY
- if (mHackStartupEnabled) mHackDelayStartupTimer->start(mHackDelayStartupTimeout, TRUE);
+ if (mHackStartupEnabled) mHackDelayStartupTimer->start(mHackDelayStartupTimeout, true);
}
else {
startHack();
@@ -1343,6 +1347,7 @@ bool LockProcess::startSaver(bool notify_ready)
if (!child_saver && !grabInput())
{
kdWarning(KDESKTOP_DEBUG_ID) << "LockProcess::startSaver() grabInput() failed!!!!" << endl;
+ trinity_desktop_lock_failed_grab = true;
return false;
}
mBusy = false;
@@ -1354,7 +1359,7 @@ bool LockProcess::startSaver(bool notify_ready)
if (mParent) {
TQSocketNotifier *notifier = new TQSocketNotifier(mParent, TQSocketNotifier::Read, this, "notifier");
- connect(notifier, TQT_SIGNAL( activated (int)), TQT_SLOT( quitSaver()));
+ connect(notifier, TQ_SIGNAL( activated (int)), TQ_SLOT( quitSaver()));
}
createSaverWindow();
move(0, 0);
@@ -1370,7 +1375,8 @@ bool LockProcess::startSaver(bool notify_ready)
slotPaintBackground(rootWinSnapShot);
}
- if (((!(trinity_desktop_lock_delay_screensaver_start && trinity_desktop_lock_forced)) && (!mInSecureDialog)) && (mHackStartupEnabled || mOverrideHackStartupEnabled)) {
+ if (!(trinity_desktop_lock_delay_screensaver_start && trinity_desktop_lock_forced) && !mInSecureDialog &&
+ (mHackStartupEnabled || mOverrideHackStartupEnabled)) {
if (argb_visual) {
setTransparentBackgroundARGB();
}
@@ -1397,10 +1403,10 @@ bool LockProcess::startSaver(bool notify_ready)
}
}
- if (mInSecureDialog == FALSE) {
+ if (!mInSecureDialog) {
if (trinity_desktop_lock_delay_screensaver_start && trinity_desktop_lock_forced && trinity_desktop_lock_use_system_modal_dialogs) {
ENABLE_CONTINUOUS_LOCKDLG_DISPLAY
- if (mHackStartupEnabled) mHackDelayStartupTimer->start(mHackDelayStartupTimeout, TRUE);
+ if (mHackStartupEnabled) mHackDelayStartupTimer->start(mHackDelayStartupTimeout, true);
}
else {
if (mHackStartupEnabled || mOverrideHackStartupEnabled) {
@@ -1410,7 +1416,7 @@ bool LockProcess::startSaver(bool notify_ready)
else {
if (trinity_desktop_lock_use_system_modal_dialogs == true) {
ENABLE_CONTINUOUS_LOCKDLG_DISPLAY
- if (mHackStartupEnabled) mHackDelayStartupTimer->start(mHackDelayStartupTimeout, TRUE);
+ if (mHackStartupEnabled) mHackDelayStartupTimer->start(mHackDelayStartupTimeout, true);
}
else {
startHack();
@@ -1529,7 +1535,7 @@ void LockProcess::closeDialogAndStartHack()
// Make sure saver will attempt to start again after DPMS wakeup
// This is related to Bug 1475
ENABLE_CONTINUOUS_LOCKDLG_DISPLAY
- if (mHackStartupEnabled) mHackDelayStartupTimer->start(mHackDelayStartupTimeout, TRUE);
+ if (mHackStartupEnabled) mHackDelayStartupTimer->start(mHackDelayStartupTimeout, true);
// Should not start saver here, because the DPMS check method below would turn it right back off!
// This is related to Bug 1475
return;
@@ -1542,7 +1548,7 @@ void LockProcess::closeDialogAndStartHack()
DISABLE_CONTINUOUS_LOCKDLG_DISPLAY
mSuspended = true;
if (closeCurrentWindow()) {
- TQTimer::singleShot( 0, this, SLOT(closeDialogAndStartHack()) );
+ TQTimer::singleShot( 0, this, TQ_SLOT(closeDialogAndStartHack()) );
}
else {
resume(true);
@@ -1577,10 +1583,10 @@ void LockProcess::repaintRootWindowIfNeeded()
bool LockProcess::startHack()
{
- mHackActive = TRUE;
+ mHackActive = true;
if ((mEnsureVRootWindowSecurityTimer) && (!mEnsureVRootWindowSecurityTimer->isActive())) {
- mEnsureVRootWindowSecurityTimer->start(250, FALSE);
+ mEnsureVRootWindowSecurityTimer->start(250, false);
}
if (currentDialog || (!mDialogs.isEmpty())) {
@@ -1669,7 +1675,7 @@ bool LockProcess::startHack()
if (trinity_desktop_lock_delay_screensaver_start && trinity_desktop_lock_forced) {
// Close any active dialogs
if (closeCurrentWindow()) {
- TQTimer::singleShot( 0, this, SLOT(closeCurrentWindow()) );
+ TQTimer::singleShot( 0, this, TQ_SLOT(closeCurrentWindow()) );
}
}
if (m_startupStatusDialog) { m_startupStatusDialog->closeSMDialog(); m_startupStatusDialog=NULL; }
@@ -1709,7 +1715,7 @@ bool LockProcess::startHack()
}
if (trinity_desktop_lock_use_system_modal_dialogs) {
ENABLE_CONTINUOUS_LOCKDLG_DISPLAY
- if (mHackStartupEnabled) mHackDelayStartupTimer->start(mHackDelayStartupTimeout, TRUE);
+ if (mHackStartupEnabled) mHackDelayStartupTimer->start(mHackDelayStartupTimeout, true);
}
saverReadyIfNeeded();
}
@@ -1735,7 +1741,7 @@ void LockProcess::stopHack()
}
setCursor( TQt::arrowCursor );
- mHackActive = FALSE;
+ mHackActive = false;
}
//---------------------------------------------------------------------------
@@ -1744,7 +1750,7 @@ void LockProcess::hackExited(TDEProcess *)
{
// Hack exited while we're supposed to be saving the screen.
// Make sure the saver window is black.
- mHackActive = FALSE;
+ mHackActive = false;
usleep(100);
TQApplication::syncX();
if (!trinity_desktop_lock_use_system_modal_dialogs) {
@@ -1779,7 +1785,7 @@ void LockProcess::hackExited(TDEProcess *)
if (!mSuspended) {
if (trinity_desktop_lock_use_system_modal_dialogs) {
ENABLE_CONTINUOUS_LOCKDLG_DISPLAY
- if (mHackStartupEnabled) mHackDelayStartupTimer->start(mHackDelayStartupTimeout, TRUE);
+ if (mHackStartupEnabled) mHackDelayStartupTimer->start(mHackDelayStartupTimeout, true);
}
}
saverReadyIfNeeded();
@@ -1791,19 +1797,17 @@ void LockProcess::displayLockDialogIfNeeded()
m_startupStatusDialog->closeSMDialog();
m_startupStatusDialog = NULL;
}
- if (!mInSecureDialog) {
- if (trinity_desktop_lock_use_system_modal_dialogs) {
- if (!mBusy) {
- mBusy = true;
- if (mLocked) {
- if (checkPass()) {
- mClosingWindows = true;
- stopSaver();
- kapp->quit();
- }
+ if (!mInSecureDialog && trinity_desktop_lock_use_system_modal_dialogs) {
+ if (!mBusy) {
+ mBusy = true;
+ if (mLocked) {
+ if (checkPass()) {
+ mClosingWindows = true;
+ stopSaver();
+ tdeApp->quit();
}
- mBusy = false;
}
+ mBusy = false;
}
}
}
@@ -1816,7 +1820,7 @@ void LockProcess::suspend()
stopHack();
ENABLE_CONTINUOUS_LOCKDLG_DISPLAY
if (mHackStartupEnabled) {
- mHackDelayStartupTimer->start(mHackDelayStartupTimeout, TRUE);
+ mHackDelayStartupTimer->start(mHackDelayStartupTimeout, true);
}
}
else {
@@ -1834,7 +1838,7 @@ void LockProcess::suspend()
}
hackstat[8191] = 0;
hackStatus = hackstat;
- hackStatus = hackStatus.remove(TQRegExp("(*) ", TRUE, TRUE));
+ hackStatus = hackStatus.remove(TQRegExp("(*) ", true, true));
TQStringList hackStatusList = TQStringList::split(" ", hackStatus);
hackStatus = (*(hackStatusList.at(1)));
}
@@ -2026,10 +2030,10 @@ int LockProcess::execDialog( TQDialog *dlg )
// Slight delay before screensaver resume to allow the dialog window to fully disappear
if (hackResumeTimer == NULL) {
hackResumeTimer = new TQTimer( this );
- connect( hackResumeTimer, TQT_SIGNAL(timeout()), this, TQT_SLOT(resumeUnforced()) );
+ connect( hackResumeTimer, TQ_SIGNAL(timeout()), this, TQ_SLOT(resumeUnforced()) );
}
if (mResizingDesktopLock == false) {
- hackResumeTimer->start( 10, TRUE );
+ hackResumeTimer->start( 10, true );
}
}
else {
@@ -2065,7 +2069,7 @@ void LockProcess::slotPaintBackground(const TQPixmap &rpm)
}
else {
mEnsureScreenHiddenTimer = new TQTimer( this );
- connect( mEnsureScreenHiddenTimer, TQT_SIGNAL(timeout()), this, TQT_SLOT(slotForcePaintBackground()) );
+ connect( mEnsureScreenHiddenTimer, TQ_SIGNAL(timeout()), this, TQ_SLOT(slotForcePaintBackground()) );
}
// Only remove the mask widget once the resize is 100% complete!
@@ -2127,7 +2131,7 @@ void LockProcess::doFunctionKeyBroadcast() {
// This does NOT work with the SAK or system modal dialogs!
if ((!trinity_desktop_lock_use_system_modal_dialogs) && (!trinity_desktop_lock_use_sak)) {
mBusy=true;
- TQTimer::singleShot(1000, this, TQT_SLOT(slotDeadTimePassed()));
+ TQTimer::singleShot(1000, this, TQ_SLOT(slotDeadTimePassed()));
if (mkeyCode == XKeysymToKeycode(tqt_xdisplay(), XF86XK_Display)) {
while (mDialogControlLock == true) {
usleep(100000);
@@ -2167,7 +2171,7 @@ bool LockProcess::x11Event(XEvent *event)
(event->xkey.keycode == XKeysymToKeycode(event->xkey.display, XF86XK_AudioRaiseVolume)) || \
(event->xkey.keycode == XKeysymToKeycode(event->xkey.display, XF86XK_AudioLowerVolume))) {
mkeyCode = event->xkey.keycode;
- TQTimer::singleShot( 100, this, TQT_SLOT(doFunctionKeyBroadcast()) );
+ TQTimer::singleShot( 100, this, TQ_SLOT(doFunctionKeyBroadcast()) );
return true;
}
// ACPI power keys
@@ -2176,7 +2180,7 @@ bool LockProcess::x11Event(XEvent *event)
(event->xkey.keycode == XKeysymToKeycode(event->xkey.display, XF86XK_Suspend)) || \
(event->xkey.keycode == XKeysymToKeycode(event->xkey.display, XF86XK_Hibernate))) {
mkeyCode = event->xkey.keycode;
- TQTimer::singleShot( 100, this, TQT_SLOT(doFunctionKeyBroadcast()) );
+ TQTimer::singleShot( 100, this, TQ_SLOT(doFunctionKeyBroadcast()) );
return true;
}
}
@@ -2192,7 +2196,7 @@ bool LockProcess::x11Event(XEvent *event)
// fall through
case KeyPress:
if ((mHackDelayStartupTimer) && (mHackDelayStartupTimer->isActive())) {
- if (mHackStartupEnabled) mHackDelayStartupTimer->start(mHackDelayStartupTimeout, TRUE);
+ if (mHackStartupEnabled) mHackDelayStartupTimer->start(mHackDelayStartupTimeout, true);
}
if (mBusy || !mDialogs.isEmpty()) {
break;
@@ -2202,12 +2206,12 @@ bool LockProcess::x11Event(XEvent *event)
if (mLocked) {
ENABLE_CONTINUOUS_LOCKDLG_DISPLAY
if (mHackStartupEnabled) {
- mHackDelayStartupTimer->start(mHackDelayStartupTimeout, TRUE);
+ mHackDelayStartupTimer->start(mHackDelayStartupTimeout, true);
}
}
- if ((!mLocked) && (!mInSecureDialog)) {
+ if (!mLocked && !mInSecureDialog) {
stopSaver();
- kapp->quit();
+ tdeApp->quit();
}
if (mAutoLogout) {
// we need to restart the auto logout countdown
@@ -2219,7 +2223,7 @@ bool LockProcess::x11Event(XEvent *event)
if (!mLocked || checkPass()) {
mClosingWindows = true;
stopSaver();
- kapp->quit();
+ tdeApp->quit();
}
else if (mAutoLogout) {
// we need to restart the auto logout countdown
@@ -2251,7 +2255,7 @@ bool LockProcess::x11Event(XEvent *event)
else {
if (trinity_desktop_lock_use_system_modal_dialogs == true) {
ENABLE_CONTINUOUS_LOCKDLG_DISPLAY
- if (mHackStartupEnabled) mHackDelayStartupTimer->start(mHackDelayStartupTimeout, TRUE);
+ if (mHackStartupEnabled) mHackDelayStartupTimer->start(mHackDelayStartupTimeout, true);
}
else {
resume( false );
@@ -2308,7 +2312,7 @@ bool LockProcess::x11Event(XEvent *event)
&& event->xkey.window != mDialogs.first()->winId()) {
XEvent ev2 = *event;
ev2.xkey.window = ev2.xkey.subwindow = mDialogs.first()->winId();
- tqApp->x11ProcessEvent( &ev2 );
+ tdeApp->x11ProcessEvent( &ev2 );
return true;
}
@@ -2442,7 +2446,7 @@ void LockProcess::msgBox( TQMessageBox::Icon type, const TQString &txt )
KPushButton *button = new KPushButton( KStdGuiItem::ok(), winFrame );
button->setDefault( true );
button->setSizePolicy( TQSizePolicy( TQSizePolicy::Preferred, TQSizePolicy::Preferred ) );
- connect( button, TQT_SIGNAL( clicked() ), &box, TQT_SLOT( accept() ) );
+ connect( button, TQ_SIGNAL( clicked() ), &box, TQ_SLOT( accept() ) );
TQVBoxLayout *vbox = new TQVBoxLayout( &box );
vbox->addWidget( winFrame );
@@ -2464,7 +2468,7 @@ void LockProcess::showVkbd()
mVkbdWindows.clear();
mVkbdLastEventWindow = None;
mKWinModule = new KWinModule( NULL, KWinModule::INFO_WINDOWS );
- connect( mKWinModule, TQT_SIGNAL( windowAdded( WId )), TQT_SLOT( windowAdded( WId )));
+ connect( mKWinModule, TQ_SIGNAL( windowAdded( WId )), TQ_SLOT( windowAdded( WId )));
mVkbdProcess = new TDEProcess;
*mVkbdProcess << "xvkbd" << "-compact" << "-geometry" << "-0-0" << "-xdm";
mVkbdProcess->start();
@@ -2678,7 +2682,7 @@ void LockProcess::slotMouseActivity(XEvent *event)
}
// Clicked inside dialog; set focus
- if (inFrame == TRUE) {
+ if (inFrame) {
WId window = mDialogs.first()->winId();
XSetInputFocus(tqt_xdisplay(), window, RevertToParent, CurrentTime);
fakeFocusIn(window);
@@ -2688,7 +2692,7 @@ void LockProcess::slotMouseActivity(XEvent *event)
}
// Clicked inside window handle (or border); drag window
- if ((inFrame == TRUE) && (inDialog == FALSE)) {
+ if (inFrame && !inDialog) {
TQPoint oldPoint = mDialogs.first()->pos();
m_mouseDown = 1;
m_dialogPrevX = oldPoint.x();
@@ -2701,7 +2705,7 @@ void LockProcess::slotMouseActivity(XEvent *event)
// Drag the window...
if (event->type == MotionNotify) {
- if (m_mouseDown == TRUE) {
+ if (m_mouseDown) {
int deltaX = me->x_root - m_mousePrevX;
int deltaY = me->y_root - m_mousePrevY;
m_dialogPrevX = m_dialogPrevX + deltaX;
@@ -2849,11 +2853,11 @@ void LockProcess::cryptographicCardInserted(TDECryptographicCardDevice* cdevice)
m_loginCardDevice = cdevice;
if (dynamic_cast<SAKDlg*>(currentDialog)) {
dynamic_cast<SAKDlg*>(currentDialog)->closeDialogForced();
- TQTimer::singleShot(0, this, SLOT(signalPassDlgToAttemptCardLogin()));
+ TQTimer::singleShot(0, this, TQ_SLOT(signalPassDlgToAttemptCardLogin()));
}
else if (dynamic_cast<SecureDlg*>(currentDialog)) {
dynamic_cast<SecureDlg*>(currentDialog)->closeDialogForced();
- TQTimer::singleShot(0, this, SLOT(signalPassDlgToAttemptCardLogin()));
+ TQTimer::singleShot(0, this, TQ_SLOT(signalPassDlgToAttemptCardLogin()));
}
else if (dynamic_cast<PasswordDlg*>(currentDialog)) {
signalPassDlgToAttemptCardLogin();
@@ -2871,7 +2875,7 @@ void LockProcess::cryptographicCardRemoved(TDECryptographicCardDevice* cdevice)
}
else {
m_loginCardDevice = NULL;
- TQTimer::singleShot(0, this, SLOT(signalPassDlgToAttemptCardAbort()));
+ TQTimer::singleShot(0, this, TQ_SLOT(signalPassDlgToAttemptCardAbort()));
}
#endif
}
@@ -2886,7 +2890,7 @@ void LockProcess::signalPassDlgToAttemptCardLogin()
else {
if (currentDialog && m_loginCardDevice) {
// Try again later
- TQTimer::singleShot(0, this, SLOT(signalPassDlgToAttemptCardLogin()));
+ TQTimer::singleShot(0, this, TQ_SLOT(signalPassDlgToAttemptCardLogin()));
}
}
#endif
@@ -2902,7 +2906,7 @@ void LockProcess::signalPassDlgToAttemptCardAbort()
else {
if (currentDialog) {
// Try again later
- TQTimer::singleShot(0, this, SLOT(signalPassDlgToAttemptCardAbort()));
+ TQTimer::singleShot(0, this, TQ_SLOT(signalPassDlgToAttemptCardAbort()));
}
}
#endif
@@ -2963,7 +2967,7 @@ void LockProcess::saverReady() {
// Control pipe handler
//
ControlPipeHandlerObject::ControlPipeHandlerObject() : TQObject() {
- mParent = NULL;
+ mParent = nullptr;
mRunning = false;
mTerminate = false;
mThreadID = 0L;
@@ -2987,7 +2991,7 @@ void ControlPipeHandlerObject::run(void) {
int display_number = atoi(TQString(XDisplayString(tqt_xdisplay())).replace(":","").ascii());
if (display_number < 0) {
- printf("[kdesktop_lock] Warning: unable to create control socket. Interactive logon modules may not function properly.\n");
+ printf("[kdesktop_lock] Warning: unable to create control socket. Interactive logon modules may not function properly.\n");
mRunning = false;
TQApplication::eventLoop()->exit(-1);
return;
@@ -3018,7 +3022,7 @@ void ControlPipeHandlerObject::run(void) {
}
if (!mParent->mPipeOpen) {
- printf("[kdesktop_lock] Warning: unable to create control socket '%s'. Interactive logon modules may not function properly.\n", fifo_file);
+ printf("[kdesktop_lock] Warning: unable to create control socket '%s'. Interactive logon modules may not function properly.\n", fifo_file);
mRunning = false;
TQApplication::eventLoop()->exit(-1);
return;
diff --git a/kdesktop/lock/lockprocess.h b/kdesktop/lock/lockprocess.h
index bfe1fe420..1afc9bb46 100644
--- a/kdesktop/lock/lockprocess.h
+++ b/kdesktop/lock/lockprocess.h
@@ -11,7 +11,7 @@
#define __LOCKENG_H__
#include <kgreeterplugin.h>
-#include <kprocess.h>
+#include <tdeprocess.h>
#include <kpixmap.h>
#include <krootpixmap.h>
@@ -106,9 +106,6 @@ class LockProcess : public TQWidget
TDECryptographicCardDevice* cryptographicCardDevice();
- signals:
- void terminateHelperThread();
-
public slots:
void quitSaver();
void preparePopup();
diff --git a/kdesktop/lock/main.cpp b/kdesktop/lock/main.cpp
index f1407070c..9f707c35d 100644
--- a/kdesktop/lock/main.cpp
+++ b/kdesktop/lock/main.cpp
@@ -33,14 +33,14 @@
#include <kdebug.h>
#include <tdeglobalsettings.h>
#include <dcopref.h>
-#include <ksimpleconfig.h>
-#include <kstandarddirs.h>
+#include <tdesimpleconfig.h>
+#include <tdestandarddirs.h>
#include <tdmtsak.h>
#include <stdlib.h>
-#if defined(Q_WS_X11) && defined(HAVE_XRENDER) && TQT_VERSION >= 0x030300
+#if defined(TQ_WS_X11) && defined(HAVE_XRENDER) && TQT_VERSION >= 0x030300
#define COMPOSITE
#endif
@@ -58,49 +58,49 @@
TQXLibWindowList trinity_desktop_lock_hidden_window_list;
// [FIXME] Add GUI configuration checkboxes for these three settings (see kdesktoprc [ScreenSaver] UseUnmanagedLockWindows, DelaySaverStart, and UseTDESAK)
-bool trinity_desktop_lock_use_system_modal_dialogs = FALSE;
-bool trinity_desktop_lock_delay_screensaver_start = FALSE;
-bool trinity_desktop_lock_use_sak = FALSE;
-bool trinity_desktop_lock_hide_active_windows = FALSE;
-bool trinity_desktop_lock_hide_cancel_button = FALSE;
-bool trinity_desktop_lock_forced = FALSE;
-
-LockProcess* trinity_desktop_lock_process = NULL;
+bool trinity_desktop_lock_use_system_modal_dialogs = false;
+bool trinity_desktop_lock_delay_screensaver_start = false;
+bool trinity_desktop_lock_use_sak = false;
+bool trinity_desktop_lock_hide_active_windows = false;
+bool trinity_desktop_lock_hide_cancel_button = false;
+bool trinity_desktop_lock_forced = false;
+// This is a temporary variable used till a fix for the grab issue is prepared
+bool trinity_desktop_lock_failed_grab = false;
bool signalled_forcelock;
bool signalled_dontlock;
bool signalled_securedialog;
bool signalled_blank;
bool signalled_run;
-bool in_internal_mode = FALSE;
+bool in_internal_mode = false;
-bool argb_visual = FALSE;
+bool argb_visual = false;
pid_t kdesktop_pid = -1;
-bool trinity_desktop_lock_settings_initialized = FALSE;
+bool trinity_desktop_lock_settings_initialized = false;
static void sigusr1_handler(int)
{
- signalled_forcelock = TRUE;
+ signalled_forcelock = true;
}
static void sigusr2_handler(int)
{
- signalled_dontlock = TRUE;
+ signalled_dontlock = true;
}
-static void sigusr3_handler(int)
+static void sigwinch_handler(int)
{
- signalled_securedialog = TRUE;
+ signalled_securedialog = true;
}
-static void sigusr4_handler(int)
+static void sigttin_handler(int)
{
- signalled_blank = TRUE;
+ signalled_blank = true;
}
-static void sigusr5_handler(int)
+static void sigttou_handler(int)
{
- signalled_run = TRUE;
+ signalled_run = true;
}
static int trapXErrors(Display *, XErrorEvent *)
@@ -236,9 +236,9 @@ int main( int argc, char **argv )
XSetErrorHandler(trapXErrors);
- MyApp* app = NULL;
+ MyApp *app = nullptr;
- while (1 == 1) {
+ while (true) {
sigset_t new_mask;
sigset_t orig_mask;
@@ -246,11 +246,11 @@ int main( int argc, char **argv )
sigfillset(&new_mask);
sigprocmask(SIG_BLOCK, &new_mask, NULL);
- signalled_forcelock = FALSE;
- signalled_dontlock = FALSE;
- signalled_securedialog = FALSE;
- signalled_blank = FALSE;
- signalled_run = FALSE;
+ signalled_forcelock = false;
+ signalled_dontlock = false;
+ signalled_securedialog = false;
+ signalled_blank = false;
+ signalled_run = false;
int kdesktop_screen_number = 0;
int starting_screen = 0;
@@ -261,7 +261,7 @@ int main( int argc, char **argv )
if (TDEGlobalSettings::isMultiHead()) {
Display *dpy = XOpenDisplay(NULL);
- if (! dpy) {
+ if (!dpy) {
fprintf(stderr,
"%s: FATAL ERROR: couldn't open display '%s'\n",
argv[0], XDisplayName(NULL));
@@ -303,14 +303,11 @@ int main( int argc, char **argv )
}
}
- env.sprintf("DISPLAY=%s.%d", display_name.data(),
- kdesktop_screen_number);
+ env.sprintf("DISPLAY=%s.%d", display_name.data(), kdesktop_screen_number);
kdDebug() << "env " << env << endl;
if (putenv(strdup(env.data()))) {
- fprintf(stderr,
- "%s: WARNING: unable to set DISPLAY environment variable\n",
- argv[0]);
+ fprintf(stderr, "%s: WARNING: unable to set DISPLAY environment variable\n", argv[0]);
perror("putenv()");
}
}
@@ -374,17 +371,17 @@ int main( int argc, char **argv )
TDEGlobal::locale()->insertCatalogue("libdmctl");
struct stat st;
- KSimpleConfig* tdmconfig;
+ TDESimpleConfig* tdmconfig;
if( stat( KDE_CONFDIR "/tdm/tdmdistrc" , &st ) == 0) {
- tdmconfig = new KSimpleConfig( TQString::fromLatin1( KDE_CONFDIR "/tdm/tdmdistrc" ));
+ tdmconfig = new TDESimpleConfig( TQString::fromLatin1( KDE_CONFDIR "/tdm/tdmdistrc" ));
}
else {
- tdmconfig = new KSimpleConfig( TQString::fromLatin1( KDE_CONFDIR "/tdm/tdmrc" ));
+ tdmconfig = new TDESimpleConfig( TQString::fromLatin1( KDE_CONFDIR "/tdm/tdmrc" ));
}
tdmconfig->setGroup("X-:*-Greeter");
// Create new LockProcess, which also spawns threads inheriting the blocked signal mask
- trinity_desktop_lock_process = new LockProcess;
+ LockProcess lock_process;
// Unblock reception of all signals in this thread
sigprocmask(SIG_UNBLOCK, &new_mask, NULL);
@@ -396,7 +393,7 @@ int main( int argc, char **argv )
kdesktop_pid = atoi(args->getOption( "internal" ));
struct sigaction act;
- in_internal_mode = TRUE;
+ in_internal_mode = true;
// handle SIGUSR1
act.sa_handler= sigusr1_handler;
@@ -410,20 +407,20 @@ int main( int argc, char **argv )
sigaddset(&(act.sa_mask), SIGUSR2);
act.sa_flags = 0;
sigaction(SIGUSR2, &act, 0L);
- // handle SIGWINCH (an ersatz SIGUSR3)
- act.sa_handler= sigusr3_handler;
+ // handle SIGWINCH (as custom user signal rather than its inherent meaning)
+ act.sa_handler= sigwinch_handler;
sigemptyset(&(act.sa_mask));
sigaddset(&(act.sa_mask), SIGWINCH);
act.sa_flags = 0;
sigaction(SIGWINCH, &act, 0L);
- // handle SIGTTIN (an ersatz SIGUSR4)
- act.sa_handler= sigusr4_handler;
+ // handle SIGTTIN (as custom user signal rather than its inherent meaning)
+ act.sa_handler= sigttin_handler;
sigemptyset(&(act.sa_mask));
sigaddset(&(act.sa_mask), SIGTTIN);
act.sa_flags = 0;
sigaction(SIGTTIN, &act, 0L);
- // handle SIGTTOU (an ersatz SIGUSR5)
- act.sa_handler= sigusr5_handler;
+ // handle SIGTTOU (as custom user signal rather than its inherent meaning)
+ act.sa_handler= sigttou_handler;
sigemptyset(&(act.sa_mask));
sigaddset(&(act.sa_mask), SIGTTOU);
act.sa_flags = 0;
@@ -437,7 +434,7 @@ int main( int argc, char **argv )
sigaddset(&new_mask,SIGTTIN);
sigaddset(&new_mask,SIGTTOU);
- while (signalled_run == FALSE) {
+ while (!signalled_run) {
// let kdesktop know the saver process is ready
if (kill(kdesktop_pid, SIGTTIN) < 0) {
// The controlling kdesktop process probably died. Commit suicide...
@@ -454,7 +451,7 @@ int main( int argc, char **argv )
// wait for SIGUSR1, SIGUSR2, SIGWINCH, SIGTTIN, or SIGTTOU
sigprocmask(SIG_BLOCK, &new_mask, &orig_mask);
- if (signalled_run != TRUE) {
+ if (!signalled_run) {
sigsuspend(&orig_mask);
}
sigprocmask(SIG_UNBLOCK, &new_mask, NULL);
@@ -494,42 +491,54 @@ int main( int argc, char **argv )
delete tdmconfig;
- if (args->isSet( "forcelock" ) || (signalled_forcelock == TRUE)) {
- trinity_desktop_lock_forced = TRUE;
+ if (args->isSet( "forcelock" ) || signalled_forcelock) {
+ trinity_desktop_lock_forced = true;
}
- trinity_desktop_lock_process->init(child, (args->isSet( "blank" ) || (signalled_blank == TRUE)));
+ lock_process.init(child, (args->isSet( "blank" ) || signalled_blank));
if (!child) {
- trinity_desktop_lock_process->setChildren(child_sockets);
+ lock_process.setChildren(child_sockets);
}
else {
- trinity_desktop_lock_process->setParent(parent_connection);
+ lock_process.setParent(parent_connection);
}
+ trinity_desktop_lock_failed_grab = false;
bool rt;
- if( (((!child) && (args->isSet( "forcelock" ))) || (signalled_forcelock == TRUE))) {
- rt = trinity_desktop_lock_process->lock();
+ if( (!child && args->isSet( "forcelock" )) || signalled_forcelock) {
+ rt = lock_process.lock();
}
- else if( child || (args->isSet( "dontlock" ) || (signalled_dontlock == TRUE))) {
- rt = trinity_desktop_lock_process->dontLock();
+ else if( child || (args->isSet( "dontlock" ) || signalled_dontlock)) {
+ rt = lock_process.dontLock();
}
- else if( child || (args->isSet( "securedialog" ) || (signalled_securedialog == TRUE))) {
+ else if( child || (args->isSet( "securedialog" ) || signalled_securedialog)) {
int retcode = tde_sak_verify_calling_process();
if (retcode == 0) {
- rt = trinity_desktop_lock_process->runSecureDialog();
+ rt = lock_process.runSecureDialog();
}
else {
return 1;
}
}
else {
- rt = trinity_desktop_lock_process->defaultSave();
+ rt = lock_process.defaultSave();
}
+
+ // Make sure to handle all pending responses from the X server.
+ // If we don't do this, in case of failed activation of the saver/lock screen,
+ // we will end up in a dirty state and the screen lock will no longer hide the windows
+ // on the screen due to 'm_rootPixmap' failing to load the background image.
+ // This is caused by a 'XConvertSelection' request in 'TDESharedPixmap::loadFromShared'
+ // not being handled and causing the corresponding property to become unusuable in X for
+ // subsequent lock requests.
+ XSync(tqt_xdisplay(), False);
+ app->processEvents();
+
if (!rt) {
- return 0;
+ return (trinity_desktop_lock_failed_grab ? 0 : 12);
}
- if (in_internal_mode == FALSE) {
+ if (!in_internal_mode) {
trinity_desktop_lock_hidden_window_list.clear();
int ret = app->exec();
restore_hidden_override_redirect_windows();
@@ -548,9 +557,6 @@ int main( int argc, char **argv )
return 12;
}
- delete trinity_desktop_lock_process;
- trinity_desktop_lock_process = NULL;
-
// FIXME
// We should not have to return (restart) at all,
// but it seems that some X11 connections are left active,
diff --git a/kdesktop/lock/querydlg.cpp b/kdesktop/lock/querydlg.cpp
index 9d594ecba..5b1fea0f3 100644
--- a/kdesktop/lock/querydlg.cpp
+++ b/kdesktop/lock/querydlg.cpp
@@ -14,7 +14,7 @@
#include <tdelocale.h>
#include <kpushbutton.h>
#include <kseparator.h>
-#include <kstandarddirs.h>
+#include <tdestandarddirs.h>
#include <tdeglobalsettings.h>
#include <tdeconfig.h>
#include <kiconloader.h>
@@ -117,7 +117,7 @@ QueryDlg::QueryDlg(LockProcess *parent)
frameLayout->addMultiCellWidget( sep, 3, 3, 0, 1 );
frameLayout->addMultiCellLayout( layButtons, 4, 4, 0, 1 );
- connect(ok, TQT_SIGNAL(clicked()), TQT_SLOT(slotOK()));
+ connect(ok, TQ_SIGNAL(clicked()), TQ_SLOT(slotOK()));
installEventFilter(this);
setFixedSize( sizeHint() );
diff --git a/kdesktop/lock/sakdlg.cpp b/kdesktop/lock/sakdlg.cpp
index 274826e69..5b23a9c5a 100644
--- a/kdesktop/lock/sakdlg.cpp
+++ b/kdesktop/lock/sakdlg.cpp
@@ -14,7 +14,7 @@
#include <tdelocale.h>
#include <kpushbutton.h>
#include <kseparator.h>
-#include <kstandarddirs.h>
+#include <tdestandarddirs.h>
#include <tdeglobalsettings.h>
#include <tdeconfig.h>
#include <kiconloader.h>
@@ -108,7 +108,7 @@ SAKDlg::SAKDlg(LockProcess *parent)
mSAKProcess = new TDEProcess;
*mSAKProcess << "tdmtsak";
- connect(mSAKProcess, TQT_SIGNAL(processExited(TDEProcess*)), this, TQT_SLOT(slotSAKProcessExited()));
+ connect(mSAKProcess, TQ_SIGNAL(processExited(TDEProcess*)), this, TQ_SLOT(slotSAKProcessExited()));
mSAKProcess->start();
}
diff --git a/kdesktop/lock/securedlg.cpp b/kdesktop/lock/securedlg.cpp
index fca79a707..ba2b08af0 100644
--- a/kdesktop/lock/securedlg.cpp
+++ b/kdesktop/lock/securedlg.cpp
@@ -14,7 +14,7 @@
#include <tdelocale.h>
#include <kpushbutton.h>
#include <kseparator.h>
-#include <kstandarddirs.h>
+#include <tdestandarddirs.h>
#include <tdeglobalsettings.h>
#include <tdeconfig.h>
#include <kiconloader.h>
@@ -137,11 +137,11 @@ SecureDlg::SecureDlg(LockProcess *parent)
frameLayout->addMultiCellWidget( sep, 2, 2, 0, 1 );
frameLayout->addMultiCellLayout( layPBGrid, 3, 3, 0, 1, AlignLeft | AlignVCenter);
- connect(mCancelButton, TQT_SIGNAL(clicked()), this, TQT_SLOT(slotBtnCancel()));
- connect(mLockButton, TQT_SIGNAL(clicked()), this, TQT_SLOT(slotBtnLock()));
- connect(mTaskButton, TQT_SIGNAL(clicked()), this, TQT_SLOT(slotBtnTask()));
- connect(mShutdownButton, TQT_SIGNAL(clicked()), this, TQT_SLOT(slotBtnShutdown()));
- connect(mSwitchButton, TQT_SIGNAL(clicked()), this, TQT_SLOT(slotBtnSwitchUser()));
+ connect(mCancelButton, TQ_SIGNAL(clicked()), this, TQ_SLOT(slotBtnCancel()));
+ connect(mLockButton, TQ_SIGNAL(clicked()), this, TQ_SLOT(slotBtnLock()));
+ connect(mTaskButton, TQ_SIGNAL(clicked()), this, TQ_SLOT(slotBtnTask()));
+ connect(mShutdownButton, TQ_SIGNAL(clicked()), this, TQ_SLOT(slotBtnShutdown()));
+ connect(mSwitchButton, TQ_SIGNAL(clicked()), this, TQ_SLOT(slotBtnSwitchUser()));
TQSize dlgSz = sizeHint();
int btnSize = dlgSz.width();