Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

デバッグ版の「バージョン情報」のURL部分の1文字目より前の左上にドットがある #568

Closed
arigayas opened this issue Oct 20, 2018 · 20 comments
Milestone

Comments

@arigayas
Copy link

リリース版の2.3.2.0には無いのでバージョンアップしたら気になる人はいると思います。

@ds14050 さんが貼られたgif画像の #566 (comment)

sakura_version-info

関連するissue?

#563
ローカルビルドのバージョン情報のスクリーンショットにもあります。
image

@berryzplus
Copy link
Contributor

リリースビルドでは出ないと思います。

原因これだから。

DEBUG_SETPIXEL(hdc);

実行しているサクラエディタがデバッグ版かどうか確かめる簡単な方法はアイコンの色を見ることです。リリース版はピンクで、デバッグ版は青ですんで 😄

@berryzplus
Copy link
Contributor

一般向けには問題なし、の認識なので閉じさせてもらいます。

今回たまたま、デバッグ向けの仕様でしたが、開発で気付いてない不審点はい~~~~っぱいあると思いますので、気軽に書き込んでいただけたら幸いです。

@KENCHjp
Copy link
Member

KENCHjp commented Oct 20, 2018

私も、しらなかった(笑)

@ds14050
Copy link
Contributor

ds14050 commented Oct 20, 2018

上に同じ(笑)

@arigayas
Copy link
Author

image

確かにリリースビルドだとドットは表示されませんね。

しかし、「バージョン情報」でDEBUG版のアイコンDEBUGと表示されるのにドットって必要になるのかちょっと疑問ですって書いてから考えてみました。
URLがこの位置から表示されると示すのには必要になるからでしょうか?

@berryzplus
Copy link
Contributor

URLがこの位置から表示されると示すのには必要になるからでしょうか?

詳細はよく知らないんですが点の表示ではなくて
点を打つ命令を発行することに意味があるようです。

点を打たないと描画命令が即時反映されない(windows vistaの)不具合対策だというコメントを、
ソースコードのどこかで見かけたました。たぶんwindows7対応の近辺だったと思います。

この「windowsの不具合」には疑問を持っていてそのうちやり方を考えたいと思っています。

何気にデバッグ版サクラエディタのあちこちで、
余分な点が現れる怪現象が頻発してる可能性が浮き彫りになったんですよね・・・。

@arigayas
Copy link
Author

点を打つ命令を発行することに意味があるようです。

なるほど。

しかしサクラエディタって怪現象が発生するエディタだったんですねw

@berryzplus
Copy link
Contributor

あくまでも「デバッグ版」

のはず 😭

@arigayas
Copy link
Author

そうでないと困りますw

@berryzplus
Copy link
Contributor

よくよく考えてみたらこれバグじゃね?ってことで開きなおします。

要件は、デバッグ時に描画命令を発行することなんで点を打つのはいいんです。
でも、デバッグのための命令発行を本来の処理の「後」にしてしまっているのが問題な気がします。

{
BOOL ret=::ExtTextOut(hdc,x,y,fuOptions,lprc,lpwString,cbCount,lpDx);
DEBUG_SETPIXEL(hdc);
return ret;
}

85行目の ExtTextOut が実行したい処理で、86行目がデバッグ用に点を打つ命令です。
ExtTextOut は指定した領域を塗りつぶす命令でもあります。
この処理順だと塗り潰したあとに点を打つ結果となるのでマズいです。

動作確認的な意味で、ある時点までは点を表示することにも意味があたのかもしれないんですけど、
現状で結果だけ見ると「意図しない結果」を引き起こしているように見えます。

というわけで、対策を打つ方向で検討したいので再度issue開きます。

@berryzplus berryzplus reopened this Oct 21, 2018
berryzplus added a commit to berryzplus/sakura-editor that referenced this issue Oct 21, 2018
issue sakura-editor#568 「バージョン情報」のURL部分の1文字目より前の左上にドットがある を参照。

DEBUG_SETPIXELはvista以降で描画のデバッグをする際に発生した不具合の対策関数。
点を打つ命令(実際には2pxの線を引いている)を発行することで描画を即時反映させる目的のもの。
この関数の利用箇所は4箇所あるが、うち2箇所はデッドコード(ANSI版関数)。

aliveな関数呼出しが塗りつぶし処理の後にあるため、
描画結果にゴミが見えてしまっているバグの対策として、
点を打つ処理と塗りつぶし処理の呼出し順を入れ替える対応を行う。
berryzplus added a commit to berryzplus/sakura-editor that referenced this issue Oct 21, 2018
issue sakura-editor#568 「バージョン情報」のURL部分の1文字目より前の左上にドットがある を参照。

DEBUG_SETPIXELはvista以降で描画のデバッグをする際に発生した不具合の対策関数。
点を打つ命令(実際には2pxの線を引いている)を発行することで描画を即時反映させる目的のもの。
この関数の利用箇所は4箇所あるが、うち2箇所はデッドコード(ANSI版関数)。

aliveな関数呼出しが塗りつぶし処理の後にあるため、
描画結果にゴミが見えてしまっているバグの対策として、
点を打つ処理と塗りつぶし処理の呼出し順を入れ替える対応を行う。
berryzplus added a commit to berryzplus/sakura-editor that referenced this issue Oct 21, 2018
issue sakura-editor#568 「バージョン情報」のURL部分の1文字目より前の左上にドットがある を参照。

DEBUG_SETPIXELはvista以降で描画のデバッグをする際に発生した不具合の対策関数。
点を打つ命令(実際には2pxの線を引いている)を発行することで描画を即時反映させる目的のもの。
この関数の利用箇所は4箇所あるが、うち2箇所はデッドコード(ANSI版関数)。

windows8.1/10ではSetPixcelしても即時更新されない模様。
紛らわしいのでコメントとSetPixelの呼出しを削っておく。
berryzplus added a commit to berryzplus/sakura-editor that referenced this issue Oct 21, 2018
issue sakura-editor#568 「バージョン情報」のURL部分の1文字目より前の左上にドットがある を参照。

DEBUG_SETPIXELはvista以降で描画のデバッグをする際に発生した不具合の対策関数。
点を打つ命令(実際には2pxの線を引いている)を発行することで描画を即時反映させる目的のもの。
この関数の利用箇所は4箇所あるが、うち2箇所はデッドコード(ANSI版関数)。

windows8.1/10ではSetPixcelしても即時更新されない模様。
紛らわしいのでコメントとSetPixelの呼出しを削っておく。
@m-tmatma
Copy link
Member

m-tmatma commented Nov 8, 2018

これはどういう状態ですか?

@berryzplus
Copy link
Contributor

これはどういう状態ですか?

#578 のマージ待ち・・・なんだけど
vista向け対応を単に切り捨ててよいのか?という疑義が出て止まった状態です。
#566 の改善対応とは別件なので #578 さえ通れば閉じられます。

@berryzplus
Copy link
Contributor

#578 を閉じました。
最新版 1558で問題の事象が再現しなくなっていたためです。

環境依存の可能性はあるので、上記ダウンロードしてもらって他に何人か「再現なし」を確認できれば閉じられると思います。

@arigayas
Copy link
Author

#578 を閉じました。
最新版 1558で問題の事象が再現しなくなっていたためです。

環境依存の可能性はあるので、上記ダウンロードしてもらって他に何人か「再現なし」を確認できれば閉じられると思います。

最新版 1558を早速ダウンロードしてみました。

表示した直後

image

URL部分にマウスカーソルをのせた後

image

別のissueになるのでしょうか?

@berryzplus
Copy link
Contributor

確認ありがとうございます。
別の理由でPR投げて対応します。

@arigayas
Copy link
Author

わかりました。

@berryzplus
Copy link
Contributor

最新版で、直ってるはずです。

@arigayas
Copy link
Author

URL部分にマウスカーソルをのせた後も左上にドットは出なくなりました。
image
image

@arigayas arigayas changed the title 「バージョン情報」のURL部分の1文字目より前の左上にドットがある デバッグ版の「バージョン情報」のURL部分の1文字目より前の左上にドットがある Jan 15, 2019
@arigayas
Copy link
Author

今更ですがタイトルに「デバッグ版の」と付けました。

@m-tmatma
Copy link
Member

URL部分にマウスカーソルをのせた後も左上にドットは出なくなりました

修正されているようなのでクローズします。

@m-tmatma m-tmatma added this to the v2.4.0 milestone Apr 30, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants