summaryrefslogtreecommitdiffstats
path: root/tdecore
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2015-09-18 14:57:11 -0500
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2015-09-18 14:57:11 -0500
commite38596f9f2cc74ec218e04a7e67bfaecb91de2b1 (patch)
tree32f4ea066c58109fffc56a1a72c1281d92d92691 /tdecore
parent3c9e39e214e229a0e22bda1a4145942e300d0d5c (diff)
downloadtdelibs-e38596f9f2cc74ec218e04a7e67bfaecb91de2b1.tar.gz
tdelibs-e38596f9f2cc74ec218e04a7e67bfaecb91de2b1.zip
When reactivating card watching, if a card is inserted re-emit valid certificates to client application
Diffstat (limited to 'tdecore')
-rw-r--r--tdecore/tdehw/tdecryptographiccarddevice.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/tdecore/tdehw/tdecryptographiccarddevice.cpp b/tdecore/tdehw/tdecryptographiccarddevice.cpp
index 0125c39a9..dd3c77888 100644
--- a/tdecore/tdehw/tdecryptographiccarddevice.cpp
+++ b/tdecore/tdehw/tdecryptographiccarddevice.cpp
@@ -459,7 +459,13 @@ void TDECryptographicCardDevice::enableCardMonitoring(bool enable) {
#ifdef WITH_PCSC
if (enable) {
if (m_watcherObject && m_watcherThread) {
- // Monitoring thread already active; abort!
+ // Monitoring thread already active
+ if ((cardPresent() == 1) && (cardX509Certificates().count() > 0)) {
+ // Card was already inserted and initialized
+ emit(certificateListAvailable(this));
+ }
+
+ // Abort!
return;
}