From: Masayuki Y. <Yam...@fu...> - 2008-03-10 08:16:29
|
山口と申します。 Gdk::Property::change で TYPE_INTEGER でのプロパティ変更が 動作しないようなので、御報告します。 TYPE_STRING の場合は問題ありません。 バージョンは、ruby-gneme2-all-0.16.0です。 rbgtkselectiondata.cの rbgtk_atom2selectiondata 関数内の int i がローカル変数だからだと思います。 以下に簡単な例を示します。 ※10と設定しているのに取得すると154763304になります。 -ソース(bug_prop_change.rb)------------------------------------- require 'gtk2' button = Gtk::Button.new("print Hello World") button.signal_connect("clicked") { puts "Hello World" } window = Gtk::Window.new window.signal_connect("destroy") { Gtk.main_quit } name = "ID" value = 10 Gdk::Property::change( window.window, name, Gdk::Selection::TYPE_INTEGER, Gdk::Property::PropMode::REPLACE, value) p Gdk::Property::get( window.window, name, Gdk::Selection::TYPE_INTEGER, false) window.border_width = 10 window.add(button) window.show_all Gtk.main ---------------------------------------------------------------- -実行結果------------------------------------------------------- $ ruby bug_prop_change.rb [#<Gdk::Atom:0xb7fc805c ptr=0x93ac478 own=true>, [154763304], 4] ※↑10と設定しているのに154763304と出る。 ---------------------------------------------------------------- -- //山口政幸 |