プロジェクト

全般

プロフィール

バグ #1548

完了

gtk3: Gtk::ImageMenuItem.new の引数が適切でない

Izumi Tsutsui さんが約3年前に追加. ほぼ3年前に更新.

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

説明

題名のとおりですが
source:plugin/gtk3/widget/worldshifter.rb@f6025344 にある
ImageMenuItem.new の引数が意図通りになっていないようです。

Ruby-Gnome のマニュアル によれば
Gtk::ImageMenuItem.new(label = nil, use_underline = true)
もしくは
Gtk::ImageMenuItem.new(stock_id, accel_group = nil)
という引数ですが、現状では
Gtk::ImageMenuItem.new(label: world.title, accel_group: false)
および
Gtk::ImageMenuItem.new(label: Plugin[:gtk3]._('Worldを追加'), accel_group: false)
と両者が混ざった記述になっています。(これが ruby 的にどう解釈されるのかよくわかってませんが)

なお https://noanoa07.livedoor.blog/archives/2136674.html によれば
use_underline は機能していない(?)らしいので実害はないようです。


ファイル

0001-Gtk-ImageMenuItem.new.patch (1.73 KB) 0001-Gtk-ImageMenuItem.new.patch Izumi Tsutsui, 2021-11-29 21:15

Izumi Tsutsui さんが約3年前に更新

とりあえず修正パッチです。

source:core/mui/gtk_contextmenu.rb@f6025344 にも
Gtk::ImageMenuItem.new があってこちらは 2つ目の引数がない(≒デフォルトで true になっている?)のですが、
チケット本文記載の通り use_underline は機能していないので見た目としても問題になっていないようです。

Shibafu Midorino さんが約3年前に更新

https://github.com/ruby-gnome/ruby-gnome/blob/3.4.9/gtk3/lib/gtk3/image-menu-item.rbhttps://valadoc.org/gtk+-3.0/Gtk.ImageMenuItem.html を見る限り、label: を渡す場合は他のキーワード引数には一切意味が無いようなのでこれ1つで良さそうです。

Shibafu Midorino さんが約3年前に更新

いや意味がないことはないか、new_with_mnemonic を使うかどうかの分岐になってますね。ろくに読めていませんでした。

Izumi Tsutsui さんが約3年前に更新

new_with_mnemonic ってどこにあるんやと思ったら
https://valadoc.org/gtk+-3.0/Gtk.Label.Label.with_mnemonic.html とかなんですかね。

If characters in str are preceded by an underscore, they are underlined.

というのも ruby-gnome のドキュメント説明と合ってませんが、
アンダースコアつけても結局アンダーラインにならないような……。

toshi_a 初音 さんがほぼ3年前に更新

  • ステータスパッチ適用待ち から レビュー待ち に変更
  • 担当者Izumi Tsutsui にセット
  • ブランチtopic/1548-gtk-menu-item にセット

確認お願いします

Izumi Tsutsui さんがほぼ3年前に更新

  • ステータスレビュー待ち から マージ待ち に変更

git merge topic/1548-gtk-menu-item して起動して
worldshifter 動作は特に問題なしです。

toshi_a 初音 さんがほぼ3年前に更新

  • ステータスマージ待ち から 終了 に変更

merged

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