Project

General

Profile

Actions

バグ #465

open

favとRTが両方されているとfavった人アイコンのマウスオーバーでのID表示がされない

Added by Izumi Tsutsui over 10 years ago. Updated 10 months ago.

Status:
実装待ち
Priority:
通常
Assignee:
-
Target version:
プラグイン名:
ブランチ:
クラッシュする:
No

Description

ツイート表示下のRTした人アイコンやfavした人アイコンにマウスオーバーすると
favstarと同じくツールチップでその人のTwitter IDが表示されるようになっていますが、
favとRTとが両方されていて両者が2段でアイコンが表示されている場合、
下段のRTアイコンのほうはマウスオーバーでツールチップが表示されますが、
上段のfavアイコンのほうはマウスオーバーしてもツールチップが出ません。
RTだけ、favだけの場合はそれぞれ表示されます。

0.1の時点で起きていたと思いますが、素の0.1.1.783でも確認しました。

Actions #1

Updated by あひる 家鴨 about 5 years ago

ツールチップの条件分岐は問題なく、不思議な力でその表示がされないというところまで確認しました。

マウスオーバー時にツールチップに表示するユーザー名は取れているため、表示の部分(おそらくGTK周り?)が悪さしてるんだと思います。
引き続きツールチップの動作を確認していきます。

Actions #2

Updated by あひる 家鴨 about 5 years ago

Gtk::Tooltips のドキュメントを見てみたら、どうやら ToolTips は deprecated らしいです。
Gtk::Tooltips is deprecated since Gtk+ 2.12. Use Gtk::Tooltip and the tooltip_* methods in Gtk::Widget instead.
https://ruby-gnome2.osdn.jp/hiki.cgi?Gtk%3A%3ATooltips

Gtk::ToolTip の方はほとんど情報量がないので Gtk::Widget の tooltip_* を追ったほうがいいかもしれないですね。
もしかしたら、こちらを使うとうまくいくとかあればいいですが。

Actions #3

Updated by Izumi Tsutsui over 4 years ago

あまり参考にならない情報ですが、気づいたことがあったのでメモ

  • RTのみされたツイートがTLの一番上にある状態
  • RTした人のアイコン上にマウスカーソルがあってツールチップでIDが表示されている状態

において、

  • TLの一番上にあった「RTのみされたツイート」がふぁぼられた
  • ふぁぼられたことにより、従来RTした人のアイコンが表示されていたところにふぁぼった人のアイコンが挿入された
  • マウスカーソルは動かしていないので結果としてマウスカーソルがふぁぼった人のアイコンの上に来た

という状態ではふぁぼった人のIDがツールチップで表示されていました。

上記の状態からマウスカーソルを下に動かしてRTした人のIDをツールチップで表示させた後に
再度ふぁぼった人のアイコンにマウスカーソルを動かした後はツールチップが表示されませんでした。

「表示しようとはしているものの、不思議な力で抑制されている」という流れには見えます。

Actions #4

Updated by Izumi Tsutsui about 4 years ago

  • Status changed from 新規 to 実装待ち

懸賞金対象だったなあ、などと思いだしたのでとりあえず変えてみます。

Actions #5

Updated by toshi_a 初音 almost 3 years ago

  • Target version set to 4.0

今も起こっている

Actions #6

Updated by Izumi Tsutsui 10 months ago

  • Target version changed from 4.0 to 5.0

今も起こっている

Actions #7

Updated by Izumi Tsutsui 10 months ago

source:core/mui/cairo_sub_parts_voter.rb@a9180163#L37helper.ssc(:motion_notify_event)
notice をいろいろ散りばめてながめてみたのですが、以下のような動きをしているように見えます。

  • motion_notify_event が fav列のsub_parts と RT列のsub_parts と 2回呼ばれる?
  • fav列の高さにポインタがある場合、
    fav列のsub_parts で呼ばれたときは tooltip_text にユーザ名セットされるが
    直後に RT列のsub_parts で呼ばれたときに tooltip_text が空にされる
    • ⇒結果として tooltip 出ない
  • RT列の高さにポインタがある場合、
    fav列のsub_parts で呼ばれたときは tooltip_text が空にされるが
    直後に RT列のsub_parts で呼ばれたときに tooltip_text にユーザ名セットされる
    • ⇒結果として tooltip 出る

「fav列のsub_parts で tooltip_text セットされてたら RT列のsub_parts ではクリアしない」みたいな処理が必要?

last_motion_user というのがこのあたりを対処しようとした形跡にも見えるのですが、
#203 で最初に「voterのアイコンにチップヘルプでscreen_nameが出るようにした」の変更が入った
source:core/mui/cairo_sub_parts_voter.rb@d54e3a75#L39 を見てもイマイチわかりませんでした……。

Actions

Also available in: Atom PDF