プロジェクト

全般

プロフィール

バグ #1207

完了

タイムライン上にマウスカーソルを移動するとクラッシュする

cob odo さんが6年以上前に追加. 6年以上前に更新.

ステータス:
終了
優先度:
通常
担当者:
対象バージョン:
プラグイン名:
ブランチ:
クラッシュする:
はい

説明

現在のdevelopブランチのmikutterをUbuntuで実行したとき、タイムライン(要するにMiraclePainterが描画している領域)にカーソルを移動させると、確実にクラッシュします。

WSL上のUbuntu(私)と、MacBookAir上の実機( https://social.mikutter.hachune.net/@d_flat_aug7/99869543045799080 )での発生を確認しています。

エラーメッセージは以下の通り。

RuntimeError failed to initialize
{MIKUTTER_DIR}/core/mui/cairo_miracle_painter.rb:223:in `initialize'
{MIKUTTER_DIR}/core/mui/cairo_miracle_painter.rb:223:in `new'
{MIKUTTER_DIR}/core/mui/cairo_miracle_painter.rb:223:in `set_cursor'
{MIKUTTER_DIR}/core/lib/uithreadonly.rb:22:in `block (2 levels) in singleton class'
{MIKUTTER_DIR}/core/mui/cairo_miracle_painter.rb:183:in `point_moved'
{MIKUTTER_DIR}/core/lib/uithreadonly.rb:22:in `block (2 levels) in singleton class'
{MIKUTTER_DIR}/core/mui/cairo_cell_renderer_message.rb:184:in `block in event_hooks'
{MIKUTTER_DIR}/core/mui/gtk_extension.rb:35:in `block in safety_signal_connect'
{MIKUTTER_DIR}/core/mui/cairo_cell_renderer_message.rb:73:in `signal_emit'
{MIKUTTER_DIR}/core/mui/cairo_cell_renderer_message.rb:73:in `block in tree='
{MIKUTTER_DIR}/core/mui/gtk_extension.rb:35:in `block in safety_signal_connect'
{MIKUTTER_DIR}/core/plugin/gtk/mainloop.rb:10:in `main'
{MIKUTTER_DIR}/core/plugin/gtk/mainloop.rb:10:in `mainloop'
./mikutter.rb:68:in `boot!'
./mikutter.rb:104:in `<main>'

これ以降は私の環境でのみ確認(他のUbuntu環境では未確認)

breeze-cursor-themeパッケージをインストール

$ sudo apt install breeze-cursor-theme

すると、このエラーは出なくなりますが、低確率で以下のエラーにより落ちます。

TypeError wrong argument type Gdk::DisplayX11 (expected Data)
{MIKUTTER_DIR}/core/mui/cairo_miracle_painter.rb:223:in `initialize'
{MIKUTTER_DIR}/core/mui/cairo_miracle_painter.rb:223:in `new'
{MIKUTTER_DIR}/core/mui/cairo_miracle_painter.rb:223:in `set_cursor'
{MIKUTTER_DIR}/core/lib/uithreadonly.rb:22:in `block (2 levels) in singleton class'
{MIKUTTER_DIR}/core/mui/cairo_miracle_painter.rb:183:in `point_moved'
{MIKUTTER_DIR}/core/lib/uithreadonly.rb:22:in `block (2 levels) in singleton class'
{MIKUTTER_DIR}/core/mui/cairo_cell_renderer_message.rb:184:in `block in event_hooks'
{MIKUTTER_DIR}/core/mui/gtk_extension.rb:35:in `block in safety_signal_connect'
{MIKUTTER_DIR}/core/mui/cairo_cell_renderer_message.rb:73:in `signal_emit'
{MIKUTTER_DIR}/core/mui/cairo_cell_renderer_message.rb:73:in `block in tree='
{MIKUTTER_DIR}/core/mui/gtk_extension.rb:35:in `block in safety_signal_connect'
{MIKUTTER_DIR}/core/plugin/gtk/mainloop.rb:10:in `main'
{MIKUTTER_DIR}/core/plugin/gtk/mainloop.rb:10:in `mainloop'
./mikutter.rb:68:in `boot!'
./mikutter.rb:104:in `<main>'

https://cobodo.hateblo.jp/entry/2018/04/16/143723 に貼ったプラグインでモンキーパッチして、Gdk::Cursorの旧形式コンストラクタを呼ぶように変更すると、今のところ落ちなくなるようです。

おそらく関連するチケット: #1197 #1203


ファイル

1207-1.patch (692 Bytes) 1207-1.patch Yuto Tokunaga, 2018-04-28 17:11

再現手順

・developブランチのmikutterを起動
・マウスカーソルをタイムライン上に移動

他の形式にエクスポート: Atom PDF