バグ #1546
完了gtk3: 本文中にカスタム絵文字があるとそれ以降にある URL文字列のクリック可能な範囲がズレる
説明
題名のとおりですが、
本文中にカスタム絵文字があるとそれ以降にある URL文字列のクリック可能な範囲の文字列位置がズレるようです。
:teokure_stamp: を含む https://social.mikutter.hachune.net/@tsutsuii/107325627123001839 を表示させた
添付 mikutter_gtk3-custom-emoji-vs-URL.mp4 の動画のマウス形状変化を参照。
カスタム絵文字名の長い https://social.mikutter.hachune.net/@tsutsuii/107325624035488441 だと
まったく選択できないので、そのへんのカウントの問題のように見えます。
なお、過去の似たようなチケットである #1286 とは違い、マウス左ボタンドラッグによる文字列選択の範囲は正しいようです。
文字列選択はクリックされた位置を取得していて実装が異なるから?
ファイル
Izumi Tsutsui さんが約3年前に更新
そもそもの問題として、
カスタム絵文字が含まれない素のテキストのみの場合のURLでも
URLの選択範囲が1文字後ろにズレているようです。
1546-off-by-one-url-range.mp4
Izumi Tsutsui さんが約3年前に更新
- ファイル 0001-fix-off-by-one-url-range.patch 0001-fix-off-by-one-url-range.patch を追加
- ファイル 0002-fix-url-range-after-emoji.patch 0002-fix-url-range-after-emoji.patch を追加
- ステータス を 分類待ち から パッチ適用待ち に変更
- プラグイン名 を gtk3 にセット
雑パッチ¶
- 1文字ズレてるのをなんとなく修正
0001-fix-off-by-one-url-range.patch - カスタム絵文字長さについての同様の修正っぽい #1402 の 51b4b6cd を見て
適当にカスタム絵文字の文字数を1文字扱いにする修正
0002-fix-url-range-after-emoji.patch
似たような処理が2箇所にあるのがなんかダサいですが、
とりあえず意図通り動いているっぽいのでいったん投げます。
toshi_a 初音 さんがほぼ3年前に更新
- ステータス を パッチ適用待ち から レビュー待ち に変更
- 担当者 を Izumi Tsutsui にセット
- ブランチ を topic/1546-miraclepainter-emoji にセット
修正方法はこれでOKです。
Izumi Tsutsui さんがほぼ3年前に更新
- ステータス を レビュー待ち から マージ待ち に変更
git merge topic/1546-miraclepainter-emoji
して
https://github.com/cobodo/open_your_url を使って
https://social.mikutter.hachune.net/@tsutsuii/107325627123001839
を表示してURL上のマウスカーソル形状変化確認してOKです。