Fixed issue #12 for ImageMemFileXfer state exception.

This commit is contained in:
soukoku
2014-06-26 06:42:37 -04:00
parent fed14365f1
commit e639ca5429
3 changed files with 16 additions and 13 deletions

View File

@@ -14,6 +14,6 @@ namespace NTwain
// keep this same in majors releases // keep this same in majors releases
public const string Release = "2.0.0.0"; public const string Release = "2.0.0.0";
// change this for each nuget release // change this for each nuget release
public const string Build = "2.0.2"; public const string Build = "2.0.3";
} }
} }

View File

@@ -15,7 +15,7 @@ namespace NTwain.Triplets
/// <returns></returns> /// <returns></returns>
public ReturnCode Get(TWImageMemXfer xfer) public ReturnCode Get(TWImageMemXfer xfer)
{ {
Session.VerifyState(6, 6, DataGroups.Image, DataArgumentType.ImageMemFileXfer, Message.Get); Session.VerifyState(6, 7, DataGroups.Image, DataArgumentType.ImageMemFileXfer, Message.Get);
return Dsm.DsmEntry(Session.AppId, Session.CurrentSource.Identity, Message.Get, xfer); return Dsm.DsmEntry(Session.AppId, Session.CurrentSource.Identity, Message.Get, xfer);
} }

View File

@@ -105,19 +105,22 @@ namespace Tester.Winform
private void CleanupTwain() private void CleanupTwain()
{ {
if (_twain.State == 4) if (_twain != null)
{ {
_twain.CurrentSource.Close(); if (_twain.State == 4)
} {
if (_twain.State == 3) _twain.CurrentSource.Close();
{ }
_twain.Close(); if (_twain.State == 3)
} {
_twain.Close();
}
if (_twain.State > 2) if (_twain.State > 2)
{ {
// normal close down didn't work, do hard kill // normal close down didn't work, do hard kill
_twain.ForceStepDown(2); _twain.ForceStepDown(2);
}
} }
} }