diff options
Diffstat (limited to 'ext/tk/lib/tk/itemfont.rb')
-rw-r--r-- | ext/tk/lib/tk/itemfont.rb | 33 |
1 files changed, 21 insertions, 12 deletions
diff --git a/ext/tk/lib/tk/itemfont.rb b/ext/tk/lib/tk/itemfont.rb index 11d443b597..4c5c917c57 100644 --- a/ext/tk/lib/tk/itemfont.rb +++ b/ext/tk/lib/tk/itemfont.rb @@ -94,11 +94,14 @@ module TkTreatItemFont *(__item_config_cmd(tagid(tagOrId)) << {})) next else - begin + fnt = hash_kv(fnt) if fnt.kind_of?(Hash) + unless TkItemConfigMethod.__IGNORE_UNKNOWN_CONFIGURE_OPTION__ tk_call(*(__item_config_cmd(tagid(tagOrId)) << "-#{optkey}" << fnt)) - rescue => e - unless TkConfigMethod.__IGNORE_UNKNOWN_CONFIGURE_OPTION__ - fail e + else + begin + tk_call(*(__item_config_cmd(tagid(tagOrId)) << "-#{optkey}" << fnt)) + rescue => e + # ignore end end end @@ -153,11 +156,14 @@ module TkTreatItemFont elsif Tk::JAPANIZED_TK fobj = fontobj # create a new TkFont object else - begin + ltn = hash_kv(ltn) if ltn.kind_of?(Hash) + unless TkItemConfigMethod.__IGNORE_UNKNOWN_CONFIGURE_OPTION__ tk_call(*(__item_config_cmd(tagid(tagOrId)) << "-#{optkey}" << ltn)) - rescue => e - unless TkConfigMethod.__IGNORE_UNKNOWN_CONFIGURE_OPTION__ - fail e + else + begin + tk_call(*(__item_config_cmd(tagid(tagOrId)) << "-#{optkey}" << ltn)) + rescue => e + # ignore end end next @@ -210,11 +216,14 @@ module TkTreatItemFont elsif Tk::JAPANIZED_TK fobj = fontobj # create a new TkFont object else - begin + knj = hash_kv(knj) if knj.kind_of?(Hash) + unless TkItemConfigMethod.__IGNORE_UNKNOWN_CONFIGURE_OPTION__ tk_call(*(__item_config_cmd(tagid(tagOrId)) << "-#{optkey}" << knj)) - rescue => e - unless TkConfigMethod.__IGNORE_UNKNOWN_CONFIGURE_OPTION__ - fail e + else + begin + tk_call(*(__item_config_cmd(tagid(tagOrId)) << "-#{optkey}" << knj)) + rescue => e + # ignore end end next |