Gtk Dialog window hangs around

Hi Folks,

I’m doing a project that makes quite a bit of use of Gtk::Dialogs.
They are not called from within a parent window, just from within a
normal Ruby app like so:

  self.check(options)
  Gtk.init
  self.build(options)
  dialog = Gtk::MessageDialog.new(
    nil,
    Gtk::Dialog::MODAL,
    options[:type],
    options[:buttons],
    options[:text].to_s)
  options[:title] ? dialog.set_title(options[:title]) : nil
  dialog.signal_connect("delete_event"){Gtk.main_quit}

  result = nil
  dialog.run do |response|
    case response
    when Gtk::Dialog::RESPONSE_OK:
      result = true
    when Gtk::Dialog::RESPONSE_CANCEL:
      result = false
    end
  end
  dialog.destroy
  return result

The problem I am having is that the window containing the dialog does
not disappear after the dialog.run call is finished. It becomes a
blank grey square and if you close it with the window manager it kills
the entire process. Is it not possible to use Gtk::Dialog nicely
outside of a pre-existing Gtk window?

Thanks,
Farrel

  dialog.signal_connect("delete_event"){Gtk.main_quit}

Ignore this line it’s been taken out but the blank window is still
persisting…

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