My code does it just by the book: void setPermission(GtkWidget *window, gpointer p) { g_print("%s\n", (gchar*) p); } radio1 = gtk_radio_button_new_with_label (NULL, "First"); radio2 = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (radio1), "Second"); radio3 = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (radio1), "Third"); g_signal_connect_swapped (G_OBJECT (radio1), "clicked", G_CALLBACK (setPermission), (gpointer) "Clicked 0"); g_signal_connect_swapped (G_OBJECT (radio2), "clicked", G_CALLBACK (setPermission), (gpointer) "Clicked 1"); g_signal_connect_swapped (G_OBJECT (radio3), "clicked", G_CALLBACK (setPermission), (gpointer) "Clicked 2"); Yet, when I select any of these radio buttons, it prints out some garbage (the same for each button). Any idea why? learning_gtk wrote: > > I hope to use g_signal_connect() to pass a gchar* parameter like this: > > gchar* radio1= "Radio1"; //it is global variable > gchar* radio2= "Radio2"; > gchar* radio3= "Radio3"; > > void item_radio_print1(gpointer* data) > { > g_print("This is the radio %s\n", (gchar *)data); > } > > g_signal_connect(G_OBJECT(item_radio1), "activate", > GTK_SIGNAL_FUNC(item_radio_print1), > (gpointer*)radio1); > g_signal_connect(G_OBJECT(item_radio2), "activate", > GTK_SIGNAL_FUNC(item_radio_print1), > (gpointer*)radio2); > g_signal_connect(G_OBJECT(item_radio3), "activate", > GTK_SIGNAL_FUNC(item_radio_print1), > (gpointer*)radio3); > > But, those strings can not be printed. > > Please help me. Thanks! > -- View this message in context: http://www.nabble.com/How-can-I-use-g_signal_connect%28%29-to-pass-a-gponiter-parameter-tp19106328p21778470.html Sent from the Gtk+ - General mailing list archive at Nabble.com. _______________________________________________ gtk-list mailing list gtk-list@xxxxxxxxx http://mail.gnome.org/mailman/listinfo/gtk-list