[wxruby-users] GenericDirCtrl Bus Error crash on OSX

Mathias Bruce mathias.bruce at gmail.com
Mon Nov 10 18:59:40 EST 2008


Hi all and thanks to everyone working on this project =o)
I have a problem, and I suspect it has its origins in WxRuby...
In my program I use a GenericDirCtrl and handle its corresponding
TreeCtrl item selection event with evt_tree_sel_changed.
In the method handling this event, I try to get at the data of the
selected item, but I run into this:

./my_xrcise_frames.rb:43: [BUG] Bus Error
ruby 1.8.6 (2008-03-03) [universal-darwin9.0]

Abort trap

The code for the event handling method is as follows, where
gdc_browse_tree is the GenericDirCtrl instance:

def on_browse_tree_sel_changed(tree_event)
  item_id = tree_event.get_item
  raise 'item_id was zero' if item_id == 0
  tc = gdc_browse_tree.get_tree_ctrl
  item_data = tc.get_item_data(item_id)
  raise 'item_data was nil' if item_data == nil
end

The line number referenced in the crash bus error (43) is the
"item_data == nil" comparison. The exception doesn't get raised - the
application just crashes. I tried to reproduce it by catching the same
event by modifying the treectrl.rb sample, so I could send you code
you were already very familiar with, but the error didn't appear then.
It seems to require a GenericDirCtrl.

I'm running:
OSX 10.5
ruby 1.8.6 (2008-03-03 patchlevel 114) [universal-darwin9.0]
wx_sugar (0.1.20)
wxruby (1.9.9)

Any help is greatly appreciated! If I have omitted any important
information from this mail, tell me and I will do my best to provide
it. I have used wxruby with great results on linux, and I hope to be
doing the same on OSX in the future.

Best regards,
Mathias


More information about the wxruby-users mailing list