[MacRuby-devel] [MacRuby] #624: assigning a layout_view to a layout_view in a block and then assigning it to a window.view: fails
MacRuby
ruby-noreply at macosforge.org
Thu Feb 25 04:51:15 PST 2010
#624: assigning a layout_view to a layout_view in a block and then assigning it
to a window.view: fails
----------------------------------------+-----------------------------------
Reporter: pontus.stromdahl@… | Owner: lsansonetti@…
Type: defect | Status: new
Priority: minor | Milestone: MacRuby 0.6
Component: MacRuby | Keywords: hotcocoa layout_view setFrame superclass
----------------------------------------+-----------------------------------
I built MacRuby from the trunk and started a hotcocoa app that I've been
working. I got this little thing:
/Library/Frameworks/MacRuby.framework/Versions/0.6/usr/lib/ruby/Gems/1.9.0/gems/hotcocoa-0.5.1.1/lib/hotcocoa/layout_view.rb:321:in
`setFrame:': super: no superclass method `setFrame' for
#<HotCocoa::LayoutView:0x2005d32c0> (NoMethodError)
So far I've tracked the problem to the following:
if I do this, (assume that I have the code from the start method in the
hotcocoa tutorial)
win.view = layout_view do |view1|
view1 << layout_view
end
then I get the error above. (see first trace below)
if I do this instead
win.view = layout_view
view2 = layout_view
win.view << view2
everything is well, except for some NSLock thing (see second trace below).
This does not happen with 0.5. I used both the hotcocoa 0.5.1 gem
as well as the current master from dj2. Running snow leopard on a macbook
pro.
pontus> macruby -v
MacRuby version 0.6 (ruby 1.9.0) [universal-darwin10.0, x86_64]
=== First trace ===
pontus> macruby test.rb
2010-02-25 11:41:22.388 macruby[73985:903] *** -[NSLock unlock]: lock
(<NSLock: 0x2000fea20> '(null)') unlocked when not locked
2010-02-25 11:41:22.391 macruby[73985:903] *** Break on _NSLockError() to
debug.
/Library/Frameworks/MacRuby.framework/Versions/0.6/usr/lib/ruby/Gems/1.9.0/gems/hotcocoa-0.5.1.1/lib/hotcocoa/layout_view.rb:321:in
`setFrame:': super: no superclass method `setFrame' for
#<HotCocoa::LayoutView:0x2005d32c0> (NoMethodError)
from
/Library/Frameworks/MacRuby.framework/Versions/0.6/usr/lib/ruby/Gems/1.9.0/gems/hotcocoa-0.5.1.1/lib/hotcocoa/layout_view.rb:260:in
`frame=:'
from
/Library/Frameworks/MacRuby.framework/Versions/0.6/usr/lib/ruby/Gems/1.9.0/gems/hotcocoa-0.5.1.1/lib/hotcocoa/layout_view.rb:372:in
`block'
from
/Library/Frameworks/MacRuby.framework/Versions/0.6/usr/lib/ruby/Gems/1.9.0/gems/hotcocoa-0.5.1.1/lib/hotcocoa/layout_view.rb:364:in
`relayout!'
from
/Library/Frameworks/MacRuby.framework/Versions/0.6/usr/lib/ruby/Gems/1.9.0/gems/hotcocoa-0.5.1.1/lib/hotcocoa/layout_view.rb:326:in
`setFrameSize:'
from
/Library/Frameworks/MacRuby.framework/Versions/0.6/usr/lib/ruby/Gems/1.9.0/gems/hotcocoa-0.5.1.1/lib/hotcocoa/layout_view.rb:321:in
`setFrame:'
from
/Library/Frameworks/MacRuby.framework/Versions/0.6/usr/lib/ruby/Gems/1.9.0/gems/hotcocoa-0.5.1.1/lib/hotcocoa/mappings/window.rb:71:in
`view=:'
from
/Users/pontus/Workcopies/spike/macruby/setFrame_Fail/test.rb:9:in `block'
from
/Library/Frameworks/MacRuby.framework/Versions/0.6/usr/lib/ruby/Gems/1.9.0/gems/hotcocoa-0.5.1.1/lib/hotcocoa/mapper.rb:43:in
`block'
from
/Users/pontus/Workcopies/spike/macruby/setFrame_Fail/test.rb:7:in `block'
from
/Library/Frameworks/MacRuby.framework/Versions/0.6/usr/lib/ruby/Gems/1.9.0/gems/hotcocoa-0.5.1.1/lib/hotcocoa/mappings/application.rb:8:in
`handle_block:'
from
/Library/Frameworks/MacRuby.framework/Versions/0.6/usr/lib/ruby/Gems/1.9.0/gems/hotcocoa-0.5.1.1/lib/hotcocoa/mapper.rb:43:in
`block'
from
/Users/pontus/Workcopies/spike/macruby/setFrame_Fail/test.rb:1:in `<main>'
pontus> macruby test.rb
=== Second trace ===
2010-02-25 11:42:41.826 macruby[73989:903] *** -[NSLock unlock]: lock
(<NSLock: 0x20053a340> '(null)') unlocked when not locked
2010-02-25 11:42:41.828 macruby[73989:903] *** Break on _NSLockError() to
debug.
--
Ticket URL: <http://www.macruby.org/trac/ticket/624>
MacRuby <http://macruby.org/>
More information about the MacRuby-devel
mailing list