iOS版 エラーダイアログをメインスレッドで表示
メインスレッドから呼び出された場合は、従来通りのアラートパネル表示を行う。 サブスレッドから呼び出された場合は、メインスレッドで非同期にエラーダイアログ表示を行うように修正する。
サブスレッドはエラー表示処理をメインスレッドに依頼した後で、アラートパネルの消去を待たずに処理を進めることになるため、 再びサブスレッドでエラー表示処理を実行する可能性がある。 このためグローバル変数にアラートパネル表示中のステータスを保持し、 アラートパネル表示中にサブスレッドでエラー表示処理が呼び出された時は、 何もせずに終了してスレッドで保持しているエラー情報をクリアする。
サブスレッド上でエラー表示処理 YNErrCtrl::showErr を呼び出した時、 サブスレッド上で直接アラートパネル表示処理(UIAlertViewクラスのshowメソッド)を呼び出していた。
サブスレッド上でshowメソッドを呼び出すのは適切でないため、メインスレッドから呼び出すように修正する。
macOS版の以下チケットをマージする。