Ticket #38785

半透明度の設定

Open Date: 2018-12-03 16:28 Last Update: 2018-12-12 21:26

Reporter:
Owner:
(None)
Type:
Status:
Open
Component:
MileStone:
Priority:
6
Severity:
6
Resolution:
Fixed
Vote
Score: 0
No votes
0.0% (0/0)
0.0% (0/0)

Details

その他の設定の半透明度の設定を設定後設定の保存を 行い、tera termを再起動するとエラーとなって起動出来ません。 Version4.101(SVN#7288)で解決されるのかと思いましたが・・・・ 現在は半透明度の設定なしでV4.101を使用させていただいています。 出来ましたら改善をお願い致します。

Attachment File List

No attachments

Ticket History (3/9 Histories)

2018-12-03 16:28 Updated by: mhara2
  • New Ticket "半透明度の設定" created
2018-12-03 20:18 Updated by: maya
Comment

とりあえず追いかけられた所まで

  • Windows 10 でのみ再現(1809/18252.1000で確認)
  • AlphaBlendが255未満(SetLayeredWindowAttributes()を呼んだ)の場合のみ再現
  • 上記条件だと、CVTWindow::CVTWindow() の InitMenu(&MainMenu); までは実行されるが、::SetMenu(HVTWin,MainMenu); の次の行からは実行されない(::SetMenu() の中からいきなり CVTWindow::CVTWindow() を脱出しているような動き)
  • そのため、その下にある ChangeFont(); が実行されない
  • そのため FontWidth, FontHeight は 0 のまま
  • そのため PaintWindow() の以下のコードがゼロ除算エラーとなる
      *Xs = PaintRect.left / FontWidth + WinOrgX;
      *Ys = PaintRect.top / FontHeight + WinOrgY;
      *Xe = (PaintRect.right-1) / FontWidth + WinOrgX;
      *Ye = (PaintRect.bottom-1) / FontHeight + WinOrgY;
    

なぜこうなるかは不明。Windows10のみこうなる理由も不明。

(Edited, 2018-12-03 23:02 Updated by: maya)
2018-12-04 10:07 Updated by: doda
Comment

環境が無いので試せてませんが、

maya への返信

* 上記条件だと、CVTWindow::CVTWindow() の InitMenu(&MainMenu); までは実行されるが、::SetMenu(HVTWin,MainMenu); の次の行からは実行されない(::SetMenu() の中からいきなり CVTWindow::CVTWindow() を脱出しているような動き)

いきなり抜けるというのは考えづらいので、このタイミングで別スレッドが動いているか、 何らかのメッセージが飛んできていてその処理を行っているとかはないでしょうか。

* AlphaBlendが255未満(SetLayeredWindowAttributes()を呼んだ)の場合のみ再現

そのきっかけが SetLayeredWindowAttributes() ならば、

* そのため、その下にある ChangeFont(); が実行されない

SetLayeredWindowAttributes() を呼んでいる SetWindowStyle() を実行するタイミングを遅らせてみるととうでしょうか?

2018-12-06 12:29 Updated by: maya
Comment

途中でイベントが起きて、想定とはちがう順番で処理されているようですね。順番を変えることでうまくいきそうです。

いま trunk が Visual Studio 2005 でコンパイルできないので、コミットはちょっと時間をください。

2018-12-07 14:11 Updated by: doda
  • Resolution Update from None to Accepted
  • Component Update from (None) to Tera Term
Comment

c.f. #38655

2018-12-07 14:24 Updated by: doda
2018-12-07 14:25 Updated by: doda
  • Severity Update from 5 - Medium to 6
  • Priority Update from 5 - Medium to 6
2018-12-11 23:55 Updated by: maya
  • Resolution Update from Accepted to Fixed
Comment

このスナップショットに修正が含まれていますので、テストしていただけるでしょうか。これで大丈夫なら次のリリースに反映されます。

https://osdn.net/downloads/users/23/23116/snapshot-20181211-maya-r7323.zip/

2018-12-12 21:26 Updated by: mhara2
Comment

テストしました。 良好です。

maya への返信

このスナップショットに修正が含まれていますので、テストしていただけるでしょうか。これで大丈夫なら次のリリースに反映されます。 https://osdn.net/downloads/users/23/23116/snapshot-20181211-maya-r7323.zip/

Edit

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Login