[fix] 撮影経路の例外境界を追加し例外時のUI固着とSaveThreadリークを防止
撮影ボタンハンドラ・撮影セッション・保存スレッドに例外境界を置き,
どの経路でも撮影終了処理と _shots.CompleteAdding() に到達させる.

- Form1 に ExecuteShot を追加し,撮影失敗を ShowError で通知して UI 状態を復帰
  (SaveThread 起動後は保存完了時の復帰に委ねて再入を防ぐ)
- CameraBase に PrepareShotSession/FinalizeShotSession を追加し,RunShotLoop 未完走の
  ときだけ CompleteAdding を呼ぶ構造にして SaveThread の永久ブロックを解消
- SaveThread に例外境界を追加し,未消費 Mat を解放してから通知・UI 復帰
- Lucam/IScam の Shot を try/finally 化し,撮影終了処理(FastFrames 無効化・Sink 復帰)を保証
  IScam はインラインの Sink 切り替えを BeginShot/EndShot へ移設
1 parent e94aaae commit 24921034d9176900619483658a971e932096aa7c
Rinto Hasegawa rintoHasegawa (Rinto Hasegawa) authored on 10 Aug
Showing 4 changed files
View
TIASshot/Cameras/CameraBase.cs
View
TIASshot/Cameras/IScam.cs
View
TIASshot/Cameras/Lucam.cs
View
TIASshot/UI/Form1.cs