虫つぶし
やっぱり、ブログだもん。twitterでもつぶやくけどバグつぶししたらこっちにも書こう。
今日つぶしたバグはマップを新規作成すると、一度マウスがコントロールに入って出ていかない限りタブの切り替え部分でもマウス操作ができてしまうというもの。原因は少しでも急激にマウスを動かしたときに処理落ちでマップがきれいに、描けないことを防ごうとしてTimerをつかって入力を受け付けたことによるもので、コンストラクタで問答無用にTimer.Enable=true;にしていたからでした。
対策として、MapEditorクラスにpublicでstaticなActiveEditorというGUIDとインスタンスごとにわけたGUIDフィールドを作成しました。そしてコンストラクタでActiveEditorとインスタンスごとにわけたGUIDが等しいかを比較してタイマーの有効・無効を決めるようにしました。ActiveEditorはMainFormにいじらせてます。
あんまりpublicでstaticな変数は作りたくないのですが、ほかの方法も思いつかず。
コメントはまだありません。