summaryrefslogtreecommitdiffstats
path: root/tdm/kfrontend/kgreeter.cpp
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2015-09-17 18:33:37 -0500
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2015-09-17 18:33:37 -0500
commit5b260a9627dd03085931882a9918cd6fbca58752 (patch)
tree12536e59fe69ee814a0d1ba3545fcdd27d8ebe2d /tdm/kfrontend/kgreeter.cpp
parentce477303019c7f3ba18dcab48e4205d59614ce5a (diff)
downloadtdebase-5b260a9627dd03085931882a9918cd6fbca58752.tar.gz
tdebase-5b260a9627dd03085931882a9918cd6fbca58752.zip
Fix cryptographic card login when SAK is enabled
Diffstat (limited to 'tdm/kfrontend/kgreeter.cpp')
-rw-r--r--tdm/kfrontend/kgreeter.cpp28
1 files changed, 17 insertions, 11 deletions
diff --git a/tdm/kfrontend/kgreeter.cpp b/tdm/kfrontend/kgreeter.cpp
index d3ee07de6..945110de7 100644
--- a/tdm/kfrontend/kgreeter.cpp
+++ b/tdm/kfrontend/kgreeter.cpp
@@ -219,17 +219,6 @@ KGreeter::KGreeter( bool framed )
pluginList = KGVerify::init( _pluginsLogin );
}
- // Initialize SmartCard readers
- TDEGenericDevice *hwdevice;
- TDEHardwareDevices *hwdevices = TDEGlobal::hardwareDevices();
- TDEGenericHardwareList cardReaderList = hwdevices->listByDeviceClass(TDEGenericDeviceType::CryptographicCard);
- for (hwdevice = cardReaderList.first(); hwdevice; hwdevice = cardReaderList.next()) {
- TDECryptographicCardDevice* cdevice = static_cast<TDECryptographicCardDevice*>(hwdevice);
- connect(cdevice, TQT_SIGNAL(certificateListAvailable(TDECryptographicCardDevice*)), this, TQT_SLOT(cryptographicCardInserted(TDECryptographicCardDevice*)));
- connect(cdevice, TQT_SIGNAL(cardRemoved(TDECryptographicCardDevice*)), this, TQT_SLOT(cryptographicCardRemoved(TDECryptographicCardDevice*)));
- cdevice->enableCardMonitoring(true);
- }
-
mControlPipeHandlerThread = new TQEventLoopThread();
mControlPipeHandler = new ControlPipeHandlerObject();
mControlPipeHandler->mKGreeterParent = this;
@@ -252,6 +241,19 @@ KGreeter::~KGreeter()
delete stsFile;
}
+void KGreeter::cryptographicCardWatcherSetup() {
+ // Initialize SmartCard readers
+ TDEGenericDevice *hwdevice;
+ TDEHardwareDevices *hwdevices = TDEGlobal::hardwareDevices();
+ TDEGenericHardwareList cardReaderList = hwdevices->listByDeviceClass(TDEGenericDeviceType::CryptographicCard);
+ for (hwdevice = cardReaderList.first(); hwdevice; hwdevice = cardReaderList.next()) {
+ TDECryptographicCardDevice* cdevice = static_cast<TDECryptographicCardDevice*>(hwdevice);
+ connect(cdevice, TQT_SIGNAL(certificateListAvailable(TDECryptographicCardDevice*)), this, TQT_SLOT(cryptographicCardInserted(TDECryptographicCardDevice*)));
+ connect(cdevice, TQT_SIGNAL(cardRemoved(TDECryptographicCardDevice*)), this, TQT_SLOT(cryptographicCardRemoved(TDECryptographicCardDevice*)));
+ cdevice->enableCardMonitoring(true);
+ }
+}
+
void KGreeter::done(int r) {
closingDown = true;
inherited::done(r);
@@ -1047,6 +1049,8 @@ KStdGreeter::KStdGreeter()
pluginSetup();
verify->start();
+
+ TQTimer::singleShot(0, this, SLOT(cryptographicCardWatcherSetup()));
}
void
@@ -1194,6 +1198,8 @@ KThemedGreeter::KThemedGreeter()
pluginSetup();
verify->start();
+
+ TQTimer::singleShot(0, this, SLOT(cryptographicCardWatcherSetup()));
}
bool