バグ:台詞コンテントの編集ダイアログでクラッシュ
#336の実験中に発生しました。
編集中だったテキストは以下です。
「文字
\&R💎
😱;♛」
話者[選択中]その他設定なし
この末尾に緑色(&G)をボタンで挿入しようとすると確定でエラーがでるようです。
2020-02-25 17:43:37 [Build: 2020-02-23 20:21:33 Debug / Console (64-bit)] cwx\utils.d:137 Stack Trace --------
cwx\editor\gui\dwt\mainwindow.d-mixin-4568, 4568
cwx\editor\gui\dwt\mainwindow.d-mixin-4571, 4571
cwx\editor\gui\dwt\dmenu.d-mixin-420, 420
cwx\editor\gui\dwt\messageutils.d-mixin-1656, 1656
cwx\editor\gui\dwt\messageutils.d-mixin-772, 772
cwx\editor\gui\dwt\messageutils.d-mixin-2101, 2101
cwx\msgutils.d-mixin-458, 458
cwx\msgutils.d-mixin-459, 459
2020-02-25 17:43:37 [Build: 2020-02-23 20:21:33 Debug / Console (64-bit)] cwx\editor\gui\dwt\mainwindow.d:4687 [Range violation] cwx\msgutils.d, 460: 0x00007FF6EEEA79A2
0x00007FF6ED9A84FF
0x00007FF6EE1350D2
0x00007FF6EE11886B
0x00007FF6EE12ABA8
0x00007FF6EE5B17CE
0x00007FF6EECCABC2
0x00007FF6EED0160E
0x00007FF6EEC02F39
0x00007FF6EEC6033F
0x00007FF6EEC5E08D
0x00007FF6EE515C56
0x00007FF6ED3694AD
0x00007FF6EEF01493
0x00007FF6EEF012CC
0x00007FF6EEF013CB
0x00007FF6EEF012CC
0x00007FF6EEF0111D
0x00007FF6EEED60F0
0x00007FF6ED369B12
0x00007FF6EEFFD738
0x00007FFC691D7BD4 in BaseThreadInitThunk
0x00007FFC69D8CEE1 in RtlUserThreadStart
Comments (2)
-
repo owner -
reporter - changed status to resolved
対応ありがとうございました。7.2に含まれているため閉じておきます。
ちなみにPy2で表示されないのはサロゲートペア文字がメッセージ処理のどこか(多分一文字切り出し時)で分離されているという問題でした。 つまり「𥁕」「𩸽」というようなサロゲートペア漢字も文字化けしていますが、 これらはCWXEditorでは正常表示できるので、別種の問題だったようです。
- Log in to comment
pull request #619
ご報告ありがとうございます。
今日まで勘違いしていたのですが、cwxeditorが使っているGUIツールキットのDWTは、文字列の選択位置として正確な文字数ではなくワイド文字列(UTF-16)として扱った時の位置を返すようです。DWTのベースとなるSWTはJavaのライブラリなので、Javaの文字列の仕様から推測できているべきでした。
絵文字の中にUTF-16で表現できないものがあったのでバグが顕在化した形です。