Re: Strange behavior of my program



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 gnome org
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."


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]