最適化 #929
closed'Gdk::PixbufLoader' がdeprecatedの出力
0%
Description
warning: /Users/akkie/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/glib2-3.0.9/lib/glib2/deprecatable.rb:123:in `const_missing': {MIKUTTER_DIR}/core/mui/gtk_web_image_loader.rb:240:in `inmemory2pixbuf': 'Gdk::PixbufLoader' has been deprecated. Use 'GdkPixbuf::PixbufLoader'. /plugin/openimg/openimg.rb:52:in `block (2 levels) in <top (required)>': 'Gdk::PixbufLoader' has been deprecated. Use 'GdkPixbuf::PixbufLoader'.grepした結果以下3ファイルが該当していました。
- {MIKUTTER_DIR}/core/mui/gtk_web_image_loader.rb:240
- {MIKUTTER_DIR}/core/plugin/openimg/openimg.rb:52
- {MIKUTTER_DIR}/core/plugin/openimg/window.rb:20
いわれるままにGdkPixbuf::PixbufLoaderに置き換えてみたところメッセージが消えて特に変わりなく動いているように見えました。上位互換のおかげのようです。
https://ruby-gnome2.osdn.jp/?News_20160812_1#Ruby%2FGdkPixbuf2
add backward compatibility between the old Gdk::Pixbuf and GdkPixbuf::Pixbuf.
Gdk::Pixbufナニナニは全部GdkPixbuf::Pixbufナニナニに変える感じかも。
/mui/gtk_web_image_loader.rb:88:in `rescue in get_raw_data': 'Gdk::PixbufError' has been deprecated. Use 'GdkPixbuf::PixbufError'.
Related issues
Updated by Akira Ouchi almost 8 years ago
- Description updated (diff)
もっと変えるところ多そうだったので追記 # grep力がたりず反省
Updated by toshi_a 初音 almost 8 years ago
- Related to 環境対応 #933: gtk2 3.1.0を利用する added
Updated by toshi_a 初音 almost 8 years ago
- Target version changed from 3.5 to 3.4
7a5fba42060655ee34f4dde80e3fea2a5c6106c4 の対応漏れなので、3.4で対応することにします
Updated by Izumi Tsutsui almost 8 years ago
該当するのかどうかわかりませんが、以下の Gdk::Pixbuf 関連は修正必要なんでしょうか。
source:core/mui/cairo_miracle_painter.rb@209bebee#L349
def gen_pixbuf
@pixmap = gen_pixmap
Gdk::Pixbuf.from_drawable(nil, @pixmap, 0, 0, width, height)
end
source:core/mui/gtk_inneruserlist.rb@0803d108#L16
def initialize(userlist)
@userlist = userlist
super(::Gtk::ListStore.new(Gdk::Pixbuf, String, String, Object, Integer))
append_column ::Gtk::TreeViewColumn.new("", ::Gtk::CellRendererPixbuf.new, pixbuf: COL_ICON)
append_column ::Gtk::TreeViewColumn.new("SN", ::Gtk::CellRendererText.new, text: COL_SCREEN_NAME)
append_column ::Gtk::TreeViewColumn.new("名前", ::Gtk::CellRendererText.new, text: COL_NAME)
model.set_sort_column_id(COL_ORDER, Gtk::SORT_DESCENDING)
end
あとチケット本文で言及されてますが source:core/mui/gtk_web_image_loader.rb@7a5fba42 に
rescue Gdk::PixbufError
が5か所あります。
以下のファイルにはコメントで Gdk::Pixbuf が残ってますね
- mui/cairo_miracle_painter.rb
- mui/cairo_sub_parts_message_base.rb
- mui/gtk_web_image_loader.rb
Updated by Izumi Tsutsui almost 8 years ago
こちらも grep力が足りてなかったのですが、以下の plugin 内のものはどうでしょう
source:core/plugin/activity/activity.rb@12a020ad#L46
def column_schemer
[{:kind => :pixbuf, :type => Gdk::Pixbuf, :label => 'icon'}, # ICON
{:kind => :text, :type => String, :label => _('種類')}, # KIND
source:core/plugin/change_account/account_control.rb@87daf43d#L11
def column_schemer
[{:kind => :pixbuf, :type => Gdk::Pixbuf, :label => ''},
{:kind => :text, :type => String, :label => Plugin[:change_account]._('SN')},
source:core/plugin/direct_message/dmlistview.rb@0850dd4d#L33
[{:kind => :pixbuf, :type => Gdk::Pixbuf, :label => @plugin._('icon')},
{:kind => :text, :type => String, :label => @plugin._('本文'), :renderer => lambda{ |scheme, index|
source:core/plugin/shortcutkey/shortcutkey_listview.rb@7ea62dcb#L42
def column_schemer
[{:kind => :text, :widget => :keyconfig, :type => String, :label => @plugin._('キーバインド')},
[{:kind => :pixbuf, :type => Gdk::Pixbuf, :label => @plugin._('機能名')},
{:kind => :text, :type => String, :expand => true}],
source:core/plugin/shortcutkey/shortcutkey_listview.rb@7ea62dcb#L172
def initialize(plugin, results)
type_strict plugin => Plugin
@plugin = plugin
super(::Gtk::TreeModelFilter.new(::Gtk::TreeStore.new(::Gdk::Pixbuf, String, Symbol)))
model.set_visible_func{ |model, iter|
Updated by toshi_a 初音 almost 8 years ago
- Status changed from 新規 to レビュー待ち
- Assignee set to Akira Ouchi
変更した結果を topic/929-rename-gdkpixbuf-classes ブランチにcommitしました。確認してみてください。
mikutterで使ってるところだと
- Gdk::Pixbuf → GdkPixbuf::Pixbuf
- Gdk::PixbufLoader → GdkPixbuf::PixbufLoader
- Gdk::PixbufError → GdkPixbuf::PixbufError
のrenameが必要だけど、単純な文字列置換で一番上のをやったら全部いい感じになるので、エディタでやってみました。本当はコンストラクタを名前付き引数に書き換えるとかあったけど、それは既に対応しているので、今回はその時に何故かあえてそのままにしていたコメントとか、単にクラスを参照している部分とかも置換することになりました。
mikutter標準プラグインからはdeprecatedなGdk::Pixbuf*定数を使って警告が出ることはなくなってるみたいですね
Updated by toshi_a 初音 over 7 years ago
- Related to 最適化 #1003: Gdk::PixbufLoader が deprecated added
Updated by あひる 家鴨 over 7 years ago
- Related to 最適化 #1030: deprecated な Gdk::PixbufLoader が使われている added