/* function implementation */ zathura_t* zathura_create(void) { zathura_t* zathura = g_malloc0(sizeof(zathura_t)); /* global settings */ zathura->global.search_direction = FORWARD; /* plugins */ zathura->plugins.manager = zathura_plugin_manager_new(); if (zathura->plugins.manager == NULL) { goto error_out; } /* UI */ if ((zathura->ui.session = girara_session_create()) == NULL) { goto error_out; } zathura->ui.session->global.data = zathura; return zathura; error_out: zathura_free(zathura); return NULL; }
} END_TEST START_TEST(test_init) { girara_session_t* session = girara_session_create(); fail_unless(session != NULL, "Could not create session"); bool result = girara_session_init(session, NULL); fail_unless(result == true, "Could not init session"); girara_session_destroy(session); } END_TEST
/* function implementation */ zathura_t* zathura_create(void) { zathura_t* zathura = g_try_malloc0(sizeof(zathura_t)); if (zathura == NULL) { return NULL; } /* global settings */ zathura->global.search_direction = FORWARD; /* plugins */ zathura->plugins.manager = zathura_plugin_manager_new(); if (zathura->plugins.manager == NULL) { goto error_out; } /* UI */ zathura->ui.session = girara_session_create(); if (zathura->ui.session == NULL) { goto error_out; } #ifdef G_OS_UNIX /* signal handler */ zathura->signals.sigterm = g_unix_signal_add(SIGTERM, zathura_signal_sigterm, zathura); #endif /* MIME type detection */ zathura->content_type_context = zathura_content_type_new(); zathura->ui.session->global.data = zathura; return zathura; error_out: zathura_free(zathura); return NULL; }