-
Notifications
You must be signed in to change notification settings - Fork 167
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
外部コマンド実行でキャンセルした時のメッセージが異なる問題を修正 #1721
Merged
beru
merged 3 commits into
sakura-editor:master
from
beru:ExecCmd_LS_overwritten_STR_EDITVIEW_EXECCMD_STOP
Sep 20, 2021
Merged
Changes from 1 commit
Commits
Show all changes
3 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
レビュー指摘対応
- Loading branch information
commit d0d63b777ad7ca9e77fb061ff3c401e61a2f10ef
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
全く分からんです。
この直し方で修正するってことは、他にも「直さないといけない箇所」がたくさん出てきそうで、影響調査とかめんどいです。
oa.OutputW()の呼出し箇所すべてで考慮が必要ですよね?
渡された引数の内容を処理完了までキープしておく責任があるのは呼ばれた側のような気がします。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
呼び出し箇所で問題が起きそうかどうかの見極めは必要だと思います。
文字列リテラル等の定数値を渡している箇所については特に問題無いと思います。
スタック上の文字列領域もリエントラントなので多分大丈夫だと思います。
LSマクロはstatic記憶領域の変数を使う
CLoadString::LoadStringSt
の呼び出しになりリエントラントではなく問題が発生しました。OutputW
で Grep したところ他にLSマクロと組み合わせて使用している記述は見当たりませんでした。なので多分大丈夫な気もしますが、考慮漏れで同様の問題が起きる可能性は否定出来ません。
まぁワニワニパニック大好きなのでその時はまたなんとかすれば良いと思います。変更をする事で不具合がたくさん追加されるとかだとさすがにまずいと思いますが。。
それは一概に言い切れないケースバイケースだと思います。
bool COutputAdapterDefault::OutputW(const WCHAR* pBuf, int size)
こういうプロトタイプのメソッドの呼び出しですが、第1引数のポインタが指す領域の内容が変わる事は、少なくとも利用する呼ぶ側では意識しないと思います(なのでLSマクロのままにしたいんだと言われたら納得しちゃいそう)。呼ばれる側の実装でもなかなか意識しにくいので問題が生じうる実装になっているのではないかと。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
影響確認実施済みなのは了解しました。
また、oa.OutputW()の呼ばれた側で対策するのがつらいのもなんとなく分かりました。