LinuxForum.Fans
Тема

gtk+2-2.24.10 и старый код...[SOLVED]

Автор: gramozeka 4 сообщений 879 просмотров
#258308

в общем всю голову поломал, решил пересобрать evolution-2.32 но засел на адаптации под новые реалии, все версии что новее наглухо привязаны к gtk3. Вобщем проблема вот :

text

static void
ensure_inited (void)
{
    if (inited)
        return;

inited = TRUE;

conf_client = gconf_client_get_default (); if (!GCONF_IS_CLIENT (conf_client)) { inited = FALSE; return; }

g_atexit ((GVoidFunc) do_cleanup);

/* load the sources for calendars and tasks */ calendar_source_list = e_source_list_new_for_gconf (conf_client, "/apps/evolution/calendar/sources"); tasks_source_list = e_source_list_new_for_gconf (conf_client, "/apps/evolution/tasks/sources");

}

g_atexit объявлен деприкатед , да и хрен бы на него, но вот как заменить вот этот финт :

text

    g_atexit ((GVoidFunc) do_cleanup);

в доках нашёл только тривиальный случай :

text

    g_atexit (some_func); -----------------> atexit (some_func);

изменил на :

text

atexit ((GVoidFunc) do_cleanup);

при сборке матерится :


ошибка: «GVoidFunc» undeclared (first use in this function)

оно и понятно, но вот как правильно ?

#258309

просто atexit (do_cleanup);
даже с g_atexit это привидение - простая формальность.

#258312

да я так и сделал, но дальше таки дремучий лес, дополз до pst-import - мало ему аргументов, понимаешь. в

text
if (pst_open (pst, filename) < 0) {

в заголовочном указано :

text

int             pst_open(pst_file *pf, const char *name, const char *charset);

добавил, вот курю пока выдаст новую порцию несварения :(

#258321

решил. По первому случаю добавил:

text

atexit ((void *) do_cleanup);

а по второму :

text

-    if (pst_open (pst, filename) < 0) {
+    if (pst_open (pst, filename, NULL) < 0) {

собрал короче, но патчей там, что блох на бродячей собаке ...

Войдите или зарегистрируйтесь, чтобы ответить.