ma дорогие, у меня здесь больше проблем, которые не могли передать структуру через g_timout_add со следующим кодом
$ cat tes.c
#include <stdio.h>
#include <gtk/gtk.h>
typedef struct a
{
char *kaka;
}a;
gint zzz(a *ati)
{
printf("data after : %s\n",ati->kaka);
return 0;
}
int main(int argc,char* argv[])
{
gtk_init(&argc,&argv);
printf("starting...\n");
a *ati = g_slice_new(a);
ati->kaka = "rempong";
printf("data before : %s\n",ati->kaka);
g_timeout_add(2000,(GSourceFunc)zzz,ati);
g_slice_free(a,ati);
gtk_main();
return 0;
}
скомпилировано:
gcc -o tes tes.c `pkg-config --libs --cflags gtk+-2.0`
работает:
$ ./tes
starting...
data before : rempong
data after : �W�
^C
Кто-нибудь есть идеи?