Bug fix : 6x try / catch to resolve crashes caused by GemCard, etc., ver. 3.1.1805
This commit is contained in:
@@ -4,6 +4,7 @@
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
using log4net;
|
||||
using Common;
|
||||
using GemCard;
|
||||
using TBF.Resources;
|
||||
@@ -17,6 +18,8 @@ namespace TBF.UI.Shared
|
||||
/// </summary>
|
||||
public partial class LoginDlgWithBenchSelection : Form
|
||||
{
|
||||
private static readonly ILog log = LogManager.GetLogger(typeof(LoginDlgWithBenchSelection));
|
||||
|
||||
public const string UseTheTagPassword = "UseTheTag0293578";
|
||||
|
||||
/// Private fields
|
||||
@@ -108,10 +111,16 @@ namespace TBF.UI.Shared
|
||||
string[] cardReaders = card.ListReaders();
|
||||
if (cardReaders != null)
|
||||
{
|
||||
foreach (var crd in cardReaders)
|
||||
{
|
||||
log.WarnFormat("SMART card reader found: {0}", crd);
|
||||
}
|
||||
|
||||
foreach (var crd in cardReaders)
|
||||
{
|
||||
if (crd.Contains("NFC"))
|
||||
{
|
||||
log.ErrorFormat("SMART card reader selected: {0}", crd);
|
||||
smartCardReader = crd; /// NFC smart card reader detected
|
||||
break;
|
||||
}
|
||||
@@ -241,14 +250,22 @@ namespace TBF.UI.Shared
|
||||
|
||||
void OnCardInserted(object sender, CardInsertedEventArgs args)
|
||||
{
|
||||
BackColor = Color.Green;
|
||||
card.Connect(smartCardReader, SHARE.Shared, PROTOCOL.T0orT1);
|
||||
string tag = string.Empty;
|
||||
try
|
||||
{
|
||||
BackColor = Color.Green;
|
||||
card.Connect(smartCardReader, SHARE.Shared, PROTOCOL.T0orT1);
|
||||
|
||||
/// Read the serial number of the card
|
||||
APDUResponse response = card.Transmit(new APDUCommand(0xFF, 0xCA, 0x00, 0x00, null, 7));
|
||||
string tag = response.ToString();
|
||||
/// Read the serial number of the card
|
||||
APDUResponse response = card.Transmit(new APDUCommand(0xFF, 0xCA, 0x00, 0x00, null, 7));
|
||||
tag = response.ToString();
|
||||
|
||||
card.Disconnect(DISCONNECT.Leave);
|
||||
card.Disconnect(DISCONNECT.Leave);
|
||||
}
|
||||
catch
|
||||
{
|
||||
tag = string.Empty;
|
||||
}
|
||||
|
||||
if (testBenchComboBox.SelectedItem != null)
|
||||
{
|
||||
@@ -281,7 +298,8 @@ namespace TBF.UI.Shared
|
||||
{
|
||||
if (!string.IsNullOrEmpty(smartCardReader))
|
||||
{
|
||||
card.StopCardEvents();
|
||||
try { card.StopCardEvents(); }
|
||||
catch { }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user