On Sun, 2012-06-03 at 16:47 -0400, Ronaldo Nascimento wrote:
> When I use Glade 3.12 to create a vertical box, it saves it as GtkBox.
> However at runtime it crashes vala with:

It isn't Vala that is crashing.

> (nwars:9024): GLib-GObject-WARNING **: cannot create instance of abstract
> (non-instantiatable) type `GtkBox'

It sounds like you are using GTK+ 2 in your project but Glade is
targeting GTK+ 3.  Either figure out how to get Glade to target GTK+ 2
or change your build system to use gtk+-3.0 instead of gtk+-2.0.

> When I look at the XML the entry for the offending GtkBox is:
> <object class="GtkBox" id="box1">
> 
> However if I re-do it in Glade 2 the entry for the VBox is:
> <object class="GtkVBox" id="vbox1">
> 
> Is vala not ready for Gtk+3?

Lots of projects written in Vala use GTK+ 3 quite happily.  Your problem
is that you're actually using GTK+ 2.

> I used vala-gen-project to create this mess.

I've never really used vala-gen-project, but a cursory look at
http://gitorious.org/vala-toys/vala-toys/trees/master/gen-project/templates 
doesn't seem to show any support for GTK+ 3.  When you selected your project 
did you choose "Gtk+ 2.0 Application"?  If so, it hardly seems surprising that 
the resulting application is using gtk+-2.0, not gtk+-3.0.

IIRC (and I could be wrong) vala-gen-project creates an autotools-based
build system.  You'll need to replace gtk+-2.0 with gtk+-3.0 in
configure.ac and any relevant Makefile.am (generally just the one in
your source subdirectory, which is probably called either "src" or the
name of your project).


-Evan

_______________________________________________
vala-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/vala-list

Reply via email to