操作
バグ #1514
完了機能 #887: gtk3
gtk3: core/mui/gtk_userlist.rb で visible_range と :expose_event が参照されている
プラグイン名:
クラッシュする:
いいえ
説明
source:core/mui/cairo_timeline.rb@0b99c704#L55 によれば
@tl.ssc(:draw){
# FIXME: gtk3, visible_rangeが実装されていないのでemit_expose_miraclepainterを呼べない
# emit_expose_miraclepainter
false }
とあるのですが、同様に source:core/mui/gtk_userlist.rb@0b99c704#L76 でもvisible_range
が使われています。
def emit_expose_user
if @listview.visible_range
current, last = @listview.visible_range
Enumerator.new{|y|
while (current <=> last) < 1
y << @listview.model.get_iter(current)
break if not current.next!
end
visible_range
が動かないのは gtk3 の問題なのか gem の問題なのかはよくわかりませんが。
https://social.mikutter.hachune.net/@tsutsuii/107134273975221621
https://docs.gtk.org/gtk3/method.TreeView.get_visible_range.html
visible_range は GTK3 には存在するが gtk3 gem に無いという事なのだろうか
また、呼び出し元に :expose_event
がありますが gtk3 では :draw
に置き換える必要あるのでは、とのこと:
@listview.ssc(:expose_event){
emit_expose_user
false
}
https://social.mikutter.hachune.net/@shibafu528/107133833736822126
“expose-event” signal has been replaced by a new GtkWidget::draw signal
https://docs.gtk.org/gtk3/migrating-2to3.html#the-gtkwidgetdraw-signal
ファイル
操作