Il 01/12/2013 21:01, Alberto Zichittella ha scritto: > This message dialog causes a strange behavior on my program. It seems > that the call to gtk_message_dialog_new() change the value of the const > gchar* pointer, last parameter. > > Furthermore, the value of the const gchar* variable "message" change > from "Il risultato e' -number-" to "Il risult(", I don't know why. > I know that the call changes the value (and the address) of message > because I use gdb. > > I develope on ubuntu gnome 13.10 using Code::Blocks , on a 64bit system, > with gtk+-3.0 > > > const gchar* message; > /*the function risolviFormat() create a gchar* pointer, using malloc > to allocate memory */ > message = espressione->risolviFormat(); //message is, for example, Try this substitution: gchar *message; message = g_strdup_printf("Il risultato e': %f", result); dialog = gtk_message_dialog_new(NULL, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, (const gchar *)message); > "Il risultato e' 789" > dialog = gtk_message_dialog_new (NULL, > GTK_DIALOG_DESTROY_WITH_PARENT, > GTK_MESSAGE_INFO, > GTK_BUTTONS_OK, > message); > /*now message is "Il risult(" > gtk_window_set_position(GTK_WINDOW(dialog),GTK_WIN_POS_CENTER_ALWAYS); > gtk_dialog_run (GTK_DIALOG (dialog)); > gtk_widget_destroy (dialog); > /*this call causes a segfault because message pointer changed his > value */ > free(message); > return; > > -- > > > Mio blog: http://newbufferedwriter.blogspot.com/ > http://prodigious.altervista.org/Scrobblit/index.php > > > _______________________________________________ > gtk-list mailing list > gtk-list@xxxxxxxxx > https://mail.gnome.org/mailman/listinfo/gtk-list > -- Hofstadter's Law: "It always takes longer than you expect, even when you take into account Hofstadter's Law." _______________________________________________ gtk-list mailing list gtk-list@xxxxxxxxx https://mail.gnome.org/mailman/listinfo/gtk-list