バッファが上書きされるのを修正しました。 http://sakura-editor.sourceforge.net/cgi-bin/cyclamen/cyclamen.cgi?log=unicode&tree=r2165
メッセージボックス表示中に参照ポインタの内容が変わっても問題ないように ローカルにコピーするようにしました。
変数名が間違っていたので更新しました。
MessageBox()->MYMESSAGEBOX()に置換しました。
MessageBox()->MYMESSAGEBOX()に置換するのはやめて、 呼び出し側でローカルバッファにコピーするようにしました。
リソース名を修正しました。
抜けがあったので修正しました。
patchを否定することになりますが、長い目で見ると ・LoadString()のように呼び出し側でバッファを確保 ・戻り値をstd::tstring型 にしたほうが安心なのではないかと。
unicode:2181 に掲載されているLR4さんのパッチを添付します。 動作を確認したところ問題なさそうで、この問題の対策として手っ取り早いのでこちらを採用でよいんじゃないかと思います。 メッセージボックスの多言語対応もふくみます。
自分が登録したパッチは破棄してください。 無駄なコピーが発生する可能性がありますが、 個別でバッファを確保するよりも、 Wrap関数でバッファを確保するほうが抜けがないと思います。
リビジョン4022でコミットしました。
Log in to post a comment.
変数名が間違っていたので更新しました。
MessageBox()->MYMESSAGEBOX()に置換しました。
MessageBox()->MYMESSAGEBOX()に置換するのはやめて、
呼び出し側でローカルバッファにコピーするようにしました。
リソース名を修正しました。
抜けがあったので修正しました。
patchを否定することになりますが、長い目で見ると
・LoadString()のように呼び出し側でバッファを確保
・戻り値をstd::tstring型
にしたほうが安心なのではないかと。
unicode:2181 に掲載されているLR4さんのパッチを添付します。
動作を確認したところ問題なさそうで、この問題の対策として手っ取り早いのでこちらを採用でよいんじゃないかと思います。
メッセージボックスの多言語対応もふくみます。
Last edit: syat 2015-07-09
自分が登録したパッチは破棄してください。
無駄なコピーが発生する可能性がありますが、
個別でバッファを確保するよりも、
Wrap関数でバッファを確保するほうが抜けがないと思います。
リビジョン4022でコミットしました。