OSDN Git Service

SettingLocal.StatusMultilineの値に関わらず起動時に投稿欄が単一行表示になる不具合を修正
authorKimura Youichi <kim.upsilon@bucyou.net>
Wed, 8 Nov 2017 15:52:32 +0000 (00:52 +0900)
committerKimura Youichi <kim.upsilon@bucyou.net>
Wed, 8 Nov 2017 16:00:32 +0000 (01:00 +0900)
commitae426e7ec0df03c9582d9710d0ef96dc4fd440c2
tree8378918339abec63c036bfccbd873ee160a11a8d
parenta46d317e90aeae9d4debf5e46211abab1e39d3fb
SettingLocal.StatusMultilineの値に関わらず起動時に投稿欄が単一行表示になる不具合を修正

SplitContainer2 のスプリッタが動かされた場合に StatusMultiline の設定値を更新する処理が、
起動時のレイアウト中に意図せず呼び出されてしまい前回終了時の設定を上書きしてしまったことが原因

4d060a91 のコミット以前の動作 (v1.3.9 までと同様):

  1. ApplicationEvents.Main メソッドで SettingLocal.xml の設定が読み込まれる
    (例として読み込まれた StatusMultiline の設定値を true とする)

  2. TweenMain_Load メソッド内で this.ClientSize が更新される
    → SplitContainer2_Panel2_Resize メソッドが呼ばれる
    → 現時点の SplitterContainer2 の状態から multiline は false と判定される
    → MultiLineMenuItem.Checked に false がセットされる (SettingManager.Local は更新されない)

  3. TweenMain_Load メソッドから TweenMain_Resize メソッドが呼ばれる
    → StatusText.Multiline に SettingManager.Local.StatusMultiline の値がセットされる

  4. StatusMultiline が true の状態で起動が完了する

4d060a91 のコミット以降の動作 (不具合あり):

  1. ApplicationEvents.Main メソッドで SettingLocal.xml の設定が読み込まれる
    (例として読み込まれた StatusMultiline の設定値を true とする)

  2. TweenMain_Load メソッド内で this.ClientSize が更新される
    → SplitContainer2_Panel2_Resize メソッドが呼ばれる
    → 現時点の SplitterContainer2 の状態から multiline は false と判定される
    → SettingManager.Local.StatusMultiline に false がセットされる

  3. TweenMain_Load メソッドから TweenMain_Resize メソッドが呼ばれる
    → StatusText.Multiline に SettingManager.Local.StatusMultiline の値がセットされる

  4. StatusMultiline が false の状態で起動が完了する

Fixes: 4d060a91 ("ContextMenuPostMode以下のチェック状態をMenuItem側ではなくSettingCommon等で管理する")
OpenTween/Resources/ChangeLog.txt
OpenTween/Tween.cs