/* 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; }
/* 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; }