Hi,

I'm trying to use Vala to create a Gtk+ application, but I'm having all
sorts of problems.

So I basically get: Gtk-CRITICAL **: gtk_widget_show_all: assertion
`GTK_IS_WIDGET (widget)' failed
And nothing happens.

The problem occurs in a callback from a menu item (the help->about menu
item). The method do_about() gets called, which calls show_all() on the
about dialog.

If I change the signal handling to something like

        menu_help_about.activate += about_dialog.show_all;

It doesn't work either (the same errors happens)


I already had some similar problems but it was because my classes
didn't inherit GLib.Object. That's not the case here.


Here is the corresponding vala class:

public class MailBrowser : GLib.Object {

  private Gtk.Builder  builder;
  private Gtk.Window   main_window;
  private Gtk.Dialog   about_dialog;
  private Gtk.Action   menu_help_about;

  construct {
    builder = new Gtk.Builder();
  }
  
  public void setup() throws GLib.Error {
    try {
      builder.add_from_file(Main.cfg.file_mail_browser_ui);
      main_window     = (Gtk.Window) builder.get_object("main_window");
      about_dialog    = (Gtk.Dialog) builder.get_object("about_window");
      menu_help_about = (Gtk.Action) builder.get_object("menu_help_about");
      main_window.destroy += Gtk.main_quit;
      menu_help_about.activate += do_about;
    } catch (GLib.Error err) {
      var msg = new Gtk.MessageDialog (
                null, Gtk.DialogFlags.MODAL, Gtk.MessageType.ERROR, 
Gtk.ButtonsType.CANCEL,
                "Failed to load UI\n" + err.message);
      msg.run();
      throw err;
    }
  }
  
  public void do_about(){
    about_dialog.show_all();
  }
  
  public void show_all(){
    main_window.show_all();
  }
  
  public void run() throws GLib.Error {
    setup();
    show_all();
    Gtk.main();
  }

}



What could go wrong?

Thanks

Mildred


-- 
Mildred Ki'Lya
╭───────── mildred593@online.fr ──────────
│ Jabber, GoogleTalk: <[EMAIL PROTECTED]>
│ Site: <http://ki.lya.online.fr>              GPG ID: 9A7D 2E2B
│ Fingerprint: 197C A7E6 645B 4299 6D37 684B 6F9D A8D6 9A7D 2E2B
_______________________________________________
Vala-list mailing list
Vala-list@gnome.org
http://mail.gnome.org/mailman/listinfo/vala-list

Reply via email to