操作
バグ #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を起動
・マウスカーソルをタイムライン上に移動
操作