Мне нужно в глобальном списке в моем приложении GTK +, я использую для этого GList:
Например:
У меня есть структура:
typedef struct _data
{
Glist list;
}Data;
Я хочу использовать одну копию списка во всей программе:
У меня есть функция в моем списке:
gboolean build_list()
{
Data->list = g_list_append(Data->list, "First ");
Data->list = g_list_append(Data->list, "Second ");
Data->list = g_list_append(Data->list, "Third ");
g_list_foreach(Data->list, (GFunc)printf, NULL);
}
После вызова этой функции отображаются все элементы из списка:
Первая Вторая Третья
, но когда я пытаюсь сделать это в другой функции - например:
void foreach()
{
g_list_foreach(Data->list, (GFunc)printf, NULL);
}
Я вижу ошибку в GDB:
** Программа получила сигнал SIGSEGV, ошибка сегментации.
[Переключение на тему 0xb7335700 (LWP 5364)]
0xb765a7d7 в strchrnul () из /lib/i686/cmov/libc.so.6
**
Как мне создать глобальный список в моем приложении?
Спасибо.