Project

General

Profile

Actions

バグ #1498

closed

機能 #887: gtk3

gtk3: 新しいMiraclePainterの不具合まとめ

Added by Shibafu Midorino almost 3 years ago. Updated almost 3 years ago.

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

Description

気づいたことを書き散らす用のチケットです。

  • セルの高さの計算がおかしい
  • Entityのクリック判定が見た目の位置と一致しない
  • マウスドラッグによるテキスト選択の位置判定が見た目の位置と一致しない

Files


Related issues

Related to バグ #1494: gtk3: Mastodonアカウントのプロフィールを開くとランダムにSEGVする終了toshi_a 初音Actions
Blocks バグ #1504: MiralcePainterのカスタム絵文字の高さの計算が誤っている終了toshi_a 初音Actions
Actions #1

Updated by Shibafu Midorino almost 3 years ago

体感でしかないですが、MiraclePainter#main_message の set_shape_renderer あたりでよくSEGVする気がします。
バックトレースは添付ファイルの segv_backtrace_main_message_try_convert.txt を参照。

Actions #2

Updated by toshi_a 初音 almost 3 years ago

  • Assignee set to toshi_a 初音
Actions #3

Updated by toshi_a 初音 almost 3 years ago

  • Related to バグ #1494: gtk3: Mastodonアカウントのプロフィールを開くとランダムにSEGVする added
Actions #4

Updated by toshi_a 初音 almost 3 years ago

#1494 と関係があるかもしれないので、それが終わったあとにやる

Actions #5

Updated by toshi_a 初音 almost 3 years ago

  • Status changed from 分類待ち to 実装待ち

高さ計算に使っている Pango::Layout に設定されているattributeの影響で、同じようにレンダリングされず、高さの計算を間違っている。
レンダリングしようとする Cairo::Context から Pango::Layout を作成すれば、高さの計算が正しくなる。

Actions #6

Updated by toshi_a 初音 almost 3 years ago

正しく文字を描画した結果専有する高さを予想するには、同じ条件のPango::Layoutが用意できなければならないが、難航したため一旦昔のMiralcePainterみたいな実装にした。
  • 最後に描画した高さ or 予想は適当な定数
  • 描画後、予想が外れていた場合resizeシグナルを送る
Actions #7

Updated by toshi_a 初音 almost 3 years ago

  • Status changed from 実装待ち to レビュー待ち
  • Assignee changed from toshi_a 初音 to Shibafu Midorino
  • ブランチ set to topic/1498-miracle-painter

done.

Actions #8

Updated by Shibafu Midorino almost 3 years ago

SubPartsの計算がまだ上手く行っていないケースがありそうです。InReplyToが半端に表示されたり、全く表示されなかったり。あと、Voterも出たり出なかったりしますね。(後者は普通に受信できてない時もあるので判別しにくい…)

Actions #9

Updated by toshi_a 初音 almost 3 years ago

  • Status changed from レビュー待ち to まだダメ
  • Assignee changed from Shibafu Midorino to toshi_a 初音
Actions #10

Updated by toshi_a 初音 almost 3 years ago

  • Blocks バグ #1504: MiralcePainterのカスタム絵文字の高さの計算が誤っている added
Actions #11

Updated by toshi_a 初音 almost 3 years ago

  • Status changed from まだダメ to レビュー待ち
  • Assignee changed from toshi_a 初音 to Shibafu Midorino

subpartsも計算に入れる。
各要素の高さが予想と異なる場合に再描画するのではなく、MiraclePainterの描画が全て終わったあとに、高さの合計を描画域と比較する。

Actions #12

Updated by Shibafu Midorino almost 3 years ago

  • Status changed from レビュー待ち to マージ待ち

大丈夫そうです。列挙されている問題は一通り解決されています。

時折ちらつきが発生している気がしますが、これは良くわからない。

Actions #13

Updated by toshi_a 初音 almost 3 years ago

  • Status changed from マージ待ち to 終了

merged.

Actions #14

Updated by toshi_a 初音 almost 3 years ago

  • Target version set to 5.0
Actions

Also available in: Atom PDF