操作
バグ #1207
完了タイムライン上にマウスカーソルを移動するとクラッシュする
プラグイン名:
ブランチ:
クラッシュする:
はい
説明
現在の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の旧形式コンストラクタを呼ぶように変更すると、今のところ落ちなくなるようです。
ファイル
再現手順
・developブランチのmikutterを起動
・マウスカーソルをタイムライン上に移動
操作