On 17 March 2011 12:08, Kevin Anthony <kevin.s.anthony@xxxxxxxxx> wrote: > Thanks, that helped alot, but now i'm suck again > i'm populating the submenu's like this: > if (!(g_strcmp0(progType,menu1))){ > GtkWidget *item; > item = gtk_menu_item_new_with_label(progName); > gtk_menu_shell_append(GTK_MENU_SHELL (menu1), item); > printf("%s\n",sptr); > > g_signal_connect_swapped(item,"activate",G_CALLBACK(callback1),(gpointer)"Callback1"); > }else if (!(g_strcmp0(progType,menu2))){ > GtkWidget *item2; > item2 = gtk_menu_item_new_with_label(progName); > gtk_menu_shell_append(GTK_MENU_SHELL (menu2), item2); > > g_signal_connect_swapped(item2,"activate",G_CALLBACK(callback2),NULL); > } > > void callback1(GtkWidget *widget, gpointer data){ > printf("callback called\n,%s\n",(char*) data); > } > and data is garbage. > i read in a bunch of file names in the format progName.progType.xml. > but if i have more then one of a given progType, i need full file > name, it's stored in sptr, but it gets freed at the end of this loop. > so i tired gtk_widget_set_name(item,sptr) but when in callback1, i > called gtk_widget_get_name, it falled assert is widget. g_signal_connect_swapped swaps the object and the data, thats why they are both wrong Cheers Lex > > what's the proper way of doing this? > > Thanks > Kevin > _______________________________________________ gtk-list mailing list gtk-list@xxxxxxxxx http://mail.gnome.org/mailman/listinfo/gtk-list