Non-modal ListView editors don't close - then crash when closed

I’m displaying my own classes in a ListView; the classes have a show()
method and a Glade window definition, so I can edit the objects by
double-clicking.

I want these editor windows to be non-modal - I want to be able to open
several of them at once, and go back to working in the parent window. So
I set non-modal and delete-with-parent in Glade.

When I close the parent window (the one that contained the ListView) the
editor windows do not close. But when I then close them, the program
crashes with a
C:/Ruby193/lib/ruby/gems/1.9.1/gems/vrlib-1.0.16/lib/treeview/columns/CellRendererObject.rb:39:in
`signal_emit_stop’: destroyed GLib::Object

Is there a way to do this? Or do I have to use only modal editor
windows?

Thanks,
Chris

Just liik at the child window example. You don’t need to set anything
in glade. Its really simple. There are two types of windows in visual
ruby:

  1. No Parent (modal) Modal windows don’t need to have a parent
    identified because you must close the child first (modal)

  2. Parent set (non-modal) When you set the parent, visualruby knows
    that if the parent closes it should close the child too.

Here’s the code to open a child window:

def buttonOpenChild__clicked(*argv)
MyChildClass.new.show(self) #self = parent
end

def modalButton__clicked(*argv)
MyChildClass.new.show
end

You pass the parent reference to the show() method to create a non-modal
window.

E

Huh. That’s how I was doing it.

When I set modal “no” in Glade, and then don’t pass self to show(), it
works fine.

Anyway, it’s now working fine.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs