Project

General

Profile

バグ #813

< > & が含まれるツイート本文に対するマウスドラッグ文字列選択で範囲表示がズレる

Added by Izumi Tsutsui over 3 years ago. Updated over 3 years ago.

Status:
終了
Priority:
通常
Assignee:
Target version:
プラグイン名:
ブランチ:
クラッシュする:

Description

現象

mikutter 3.3.5 で
< > & が含まれるツイート
https://twitter.com/tsutsuii/status/697535948351893504
https://twitter.com/tsutsuii/status/697649907390222337
等を mikutter 上で表示してツイート本文のマウスドラッグで文字列選択した場合、
選択範囲表示が < > & のそれぞれ1文字に付き 1文字右にズレるようです。

適当な考察

マウス選択位置までの文字数を、表示されている文字数より1文字多くカウントしている感じです。
#284 で「URLが入ったつぶやきの文字列選択で、選択位置がずれる」というのがあって
#445 で特殊文字のエスケープ書式が変わったという過去もありましたが
似たような原因でしょうか。

蛇足

おさけーさんの show_tweet プラグインを使うと検証がはかどります
https://github.com/osak/show_tweet

Associated revisions

Revision 1a111b7f (diff)
Added by toshi_a 初音 over 3 years ago

cairo_textselectorは&<>が出現するとインデックスがずれる refs #813

History

#1

Updated by Izumi Tsutsui over 3 years ago

source:core/mui/cairo_miracle_painter.rb@ab1cf1b0#L234

result[1] = main_message.text.get_index_from_byte(result[1])

の [1] がエスケープされている文字の場合意図通りに動かない
という気がしますが、どうでしょう。

#2

Updated by toshi_a 初音 over 3 years ago

  • Status changed from 新規 to 実装待ち
  • Assignee set to toshi_a 初音

確かにおかしいですね。

#3

Updated by toshi_a 初音 over 3 years ago

  • Status changed from 実装待ち to レビュー待ち
  • Assignee changed from toshi_a 初音 to Izumi Tsutsui

修正しました。闇属性のファイルだったので特定に時間がかかりましたが、単に特定の記号の境界処理が誤っていただけですね。一応確認してください。

#4

Updated by Izumi Tsutsui over 3 years ago

いつもお世話になっております。

mikutter 3.3.5 で source:core/mui/cairo_textselector.rb@1a111b7f だけ入れ替えて
当該ツイートでざっとテストしてみて選択範囲は問題ないようです。
これでコードツイートのコピペもはかどります。ありがとうございます。

チケットと関係ないですが、 Redmine のバージョンアップ時のロール設定のせいか
「報告者」だとチケットの「ステータス」が変更できないようになっているような……。

#5

Updated by toshi_a 初音 over 3 years ago

  • Status changed from レビュー待ち to 終了
#6

Updated by Izumi Tsutsui over 3 years ago

新しいチケット起こすべきかもしれませんが

1a111b7f の修正後、ツイートの本文に改行が含まれるツイートを範囲選択すると
ツイート中の改行がなくなってしまうという現象になるようです。
https://twitter.com/Akkiesoft/status/698502248918200322
https://twitter.com/Akkiesoft/status/698502565881729024

source:core/mui/cairo_textselector.rb@1a111b7f
の修正で改行について考慮が必要ということでしょうか。

Also available in: Atom PDF