OSDN Ticket Archive


Ticket #42797

iOS版 フォルダ演奏中にアクションシートまたはヘルプビューを表示した状態で演奏終了するとクラッシュする

登録: 2021-09-06 23:43 最終更新: 2021-09-07 22:19

報告者:
yknk
担当者:
yknk
チケットの種類:
バグ
状況:
完了
コンポーネント:
MIDITrail Ver.1.3.x for iOS
マイルストーン:
Version 1.3.5 for iOS (完了済み)
優先度:
5 - 中
重要度:
5 - 中
解決法:
修正済み
ファイル:
なし

詳細

演奏中にViewボタンを押すとアクションシートが表示される。またHelpボタンを押すとヘルプビューが表示される。 これらを表示したままにしておくと、フォルダ演奏で次のMIDIファイルに切り替わる時、アプリが強制終了する。

チケットの履歴

2021-09-06 23:43 更新者: yknk
  • 新しいチケット "iOS版 フォルダ演奏中にアクションシートまたはヘルプビューを表示した状態で演奏終了するとクラッシュする" が作成されました
2021-09-06 23:44 更新者: yknk
コメント

原因

次のMIDIファイルを開く時、メインビューを閉じてから、メインビューの再生成を行なっている。 メインビューでサブビューが表示されたままの状態でメインビューを閉じると、例外が発生する。 例外の発生箇所までは確認していない。

2021-09-06 23:45 更新者: yknk
コメント

対策方針

メインビューでサブビューが表示されている場合は、演奏終了時に次ファイルを開かないようにする。 強制的にサブビューを閉じる処理が簡単に実装できなかったため、手軽な対策を選択する。

2021-09-06 23:45 更新者: yknk
コメント

対策

MTMainViewCtrlクラス

  • クラスの定義から非推奨となった<UIActionSheetDelegate>を削除。
  • Viewアクションシート表示状態フラグ m_isViewActionSheetVisible を追加。

MTMainViewCtrl::initWithNibName:bundle:rendererParam

Viewアクションシート表示状態フラグの初期化処理を追加。

MTMainViewCtrl::onViewButton

UIActionSheetが非推奨となったため、UIAlertControllerを用いたアクションシート表示処理に修正。 Viewアクションシート表示状態フラグのON/OFF処理を追加。

MTMainViewCtrl::actionSheet:clickedButtonAtIndex

非推奨となったアクションシートボタン選択イベントハンドラを削除。

MTMainViewCtrl::isSubViewDisplayed

サブビュー表示状態確認メソッドを追加。

MIDITrailApp::onChangePlayStatusStop

判定文を追加し、メインビュー側でサブビュー表示中は次ファイルは開かないように修正。

2021-09-07 22:19 更新者: yknk
  • 状況オープン から 完了 に更新されました
  • 解決法なし から 修正済み に更新されました

添付ファイルリスト

添付ファイルはありません