strange gtk_set_data_full behavior ...
- From: Sven LUTHER <luther maxime u-strasbg fr>
- To: gtk-devel-list redhat com
- Subject: strange gtk_set_data_full behavior ...
- Date: Tue, 8 Jun 1999 16:48:13 +0200
hello, ...
i think i did found a bug in glib, don't know where to report it, so i will
write here.
i do the following :
char data1[] = "Hello";
char data2[] = "Bye";
char data3[] = "XXX";
void sven_free (gpointer data)
{
printf ("Hello you %u.\n", data);
printf ("Data is %s.\n", data);
}
...
printf ("Data1 = %u.\n", data1);
printf ("Data2 = %u.\n", data2);
printf ("Data3 = %u.\n", data3);
gtk_object_set_data_full (GTK_OBJECT (drawing_area), "Sven_data",\
(gpointer)data1, (GtkDestroyNotify)&sven_free);
gtk_object_set_data_full (GTK_OBJECT (drawing_area), "Sven_data",\
(gpointer)data2, (GtkDestroyNotify)&sven_free);
gtk_object_set_data_full (GTK_OBJECT (drawing_area), "Sven_data",\
(gpointer)data3, (GtkDestroyNotify)&sven_free);
gtk_object_set_data_full (GTK_OBJECT (drawing_area), "Sven_data",\
(gpointer)NULL, (GtkDestroyNotify)&sven_free);
and get the following output :
Data1 = 138616.
Data2 = 138624.
Data3 = 138632.
Hello you 138616.
Data is Hello.
Hello you 138624.
Data is Bye.
GLib-CRITICAL **: file gdataset.c: line 349 (g_datalist_id_set_data_full):
assertion `destroy_func == NULL' failed.
So:
1) sven_free does not get called when i exit the application (is it a modified
scribble-simple, i quit hitting the Quit button who has a
gtk_widget_destroy callback fixed to it.
2) the last call to gtk_object_set_data_full should free the data, and is
perfectly legal, or at least the tutorial and the header file claims so, but
does no such thing, and i get an error about NULL destroy function.
Friendly,
Sven LUTHER
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]