Issue #12156 has been updated by Hiroshi SHIBATA.

Status changed from Open to Assigned
Assignee set to Hidetoshi Nagai

----------------------------------------
Bug #12156: TckImage.new broken after r53077 (2.3, trunk)
https://bugs.ruby-lang.org/issues/12156#change-57371

* Author: Christian Hofstaedtler
* Status: Assigned
* Priority: Normal
* Assignee: Hidetoshi Nagai
* ruby -v: ruby 2.3.0p0 (2015-12-25) [x86_64-linux-gnu] (Debian 2.3.0-4)
* Backport: 2.1: DONTNEED, 2.2: DONTNEED, 2.3: REQUIRED
----------------------------------------
This simple test program fails with ruby2.3, but worked in previous versions:

```
require 'tk'
require 'tkextlib/tkimg'

root = TkRoot.new
canvas = TkCanvas.new root
canvas.grid :column => 0, :row => 0
img = TkPhotoImage.new :file => "/tmp/l.png"
TkcImage.new canvas, 0, 0, :anchor => :nw, :image => img
Tk.mainloop
```

Backtrace:
```
/usr/lib/ruby/2.3.0/tk/itemconfig.rb:115:in `hash_kv': wrong argument
type nil (expected Array) (TypeError)
from /usr/lib/ruby/2.3.0/tk/itemconfig.rb:115:in `itemconfig_hash_kv'
from /usr/lib/ruby/2.3.0/tk/canvas.rb:722:in `_parse_create_args'
from /usr/lib/ruby/2.3.0/tk/canvas.rb:735:in `create'
from /usr/lib/ruby/2.3.0/tk/canvas.rb:758:in `create_self'
from /usr/lib/ruby/2.3.0/tk/canvas.rb:751:in `initialize'
from ui.rb:8:in `new'
from ui.rb:8:in `<main>'
```

From what I can tell itemconfig_hash_kv calls tk_hash_kv with args 2 and 3 set to nil, but the new Check_Type introduced in r53077 call does not account for Qnil in there.




-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>