Index: src/main.c =================================================================== RCS file: /cvs/gnome/gob/src/main.c,v retrieving revision 1.130 diff -u -r1.130 main.c --- src/main.c 22 Jul 2005 19:56:32 -0000 1.130 +++ src/main.c 24 Jul 2005 11:31:14 -0000 @@ -2001,6 +2001,9 @@ print_initializer(Method *m, Variable *v) { char *root; + + if(v->glade_widget) + return; if(v->initializer == NULL) return; @@ -2017,6 +2020,8 @@ if (v->initializer_simple) out_printf(out, "\t%s->%s = %s;\n", root, v->id, v->initializer); + else if (!strcmp(v->id, "_glade_xml")) + out_printf(out,v->initializer, ((FuncArg *)m->args->data)->name); else out_printf(out,v->initializer); Index: src/parse.y =================================================================== RCS file: /cvs/gnome/gob/src/parse.y,v retrieving revision 1.66 diff -u -r1.66 parse.y --- src/parse.y 22 Jul 2005 19:49:46 -0000 1.66 +++ src/parse.y 24 Jul 2005 11:31:17 -0000 @@ -473,7 +473,6 @@ Node *var; Type * type; GList * flags = NULL; - char * set; type = (Type *)node_new (TYPE_NODE, "name", "GladeXML", @@ -481,11 +480,11 @@ NULL); initializer = g_strdup_printf("\t{\n" "\tGtkWidget * root;\n" - "\to->_priv->_glade_xml = glade_xml_new(%s, %s, %s);\n" - "\troot = glade_xml_get_widget(o->_priv->_glade_xml, %s);\n" + "\t%%1$s->_priv->_glade_xml = glade_xml_new(%s, %s, %s);\n" + "\troot = glade_xml_get_widget(%%1$s->_priv->_glade_xml, %s);\n" "\tgtk_widget_show(root);\n" - "\tgtk_container_add(GTK_CONTAINER(o), root);\n" - "\tglade_xml_signal_autoconnect_full(o->_priv->_glade_xml, (GladeXMLConnectFunc)___glade_xml_connect_foreach, (gpointer)o);\n" + "\tgtk_container_add(GTK_CONTAINER(%%1$s), root);\n" + "\tglade_xml_signal_autoconnect_full(%%1$s->_priv->_glade_xml, (GladeXMLConnectFunc)___glade_xml_connect_foreach, (gpointer)%%1$s);\n" "}\n", file, root, domain ? domain : "NULL", root); var = node_new (VARIABLE_NODE,