/** * @return Returns the number of times the init function as been called * minus the corresponding init call. * @brief Shuts down Efreet if a balanced number of init/shutdown calls have * been made */ EAPI int efreet_shutdown(void) { if (--_efreet_init_count != 0) return _efreet_init_count; efreet_util_shutdown(); efreet_menu_shutdown(); efreet_desktop_shutdown(); efreet_ini_shutdown(); efreet_icon_shutdown(); efreet_xml_shutdown(); efreet_cache_shutdown(); efreet_base_shutdown(); eina_log_domain_unregister(_efreet_log_domain_global); IF_RELEASE(efreet_lang); IF_RELEASE(efreet_lang_country); IF_RELEASE(efreet_lang_modifier); efreet_parsed_locale = 0; /* reset this in case they init efreet again */ ecore_file_shutdown(); ecore_shutdown(); eet_shutdown(); eina_shutdown(); return _efreet_init_count; }
EAPI int efreet_shutdown(void) { if (_efreet_init_count <= 0) { EINA_LOG_ERR("Init count not greater than 0 in shutdown."); return 0; } if (--_efreet_init_count != 0) return _efreet_init_count; efreet_util_shutdown(); efreet_menu_shutdown(); efreet_desktop_shutdown(); efreet_ini_shutdown(); efreet_icon_shutdown(); efreet_xml_shutdown(); efreet_cache_shutdown(); efreet_base_shutdown(); IF_RELEASE(efreet_lang); IF_RELEASE(efreet_lang_country); IF_RELEASE(efreet_lang_modifier); IF_RELEASE(efreet_language); efreet_parsed_locale = 0; /* reset this in case they init efreet again */ ecore_file_shutdown(); ecore_shutdown(); eet_shutdown(); eina_shutdown(); return _efreet_init_count; }