Fix inconsistent path generation and checks on win32
- Always check the return value of g_win32_get_package_installation_directory_of_module, this call may fail and return NULL - g_build_filename is documented as never returning NULL, no need to check for that
This commit is contained in:
parent
33133c63ae
commit
5c40eea518
|
@ -788,10 +788,13 @@ read_config(void)
|
|||
// on windows also load config from INSTALLDIR/etc/gkrellmd.conf
|
||||
#if defined(WIN32)
|
||||
install_path = g_win32_get_package_installation_directory_of_module(NULL);
|
||||
if (install_path != NULL)
|
||||
{
|
||||
path = g_build_filename(install_path, "etc", GKRELLMD_CONFIG, NULL);
|
||||
load_config(path);
|
||||
g_free(install_path);
|
||||
g_free(path);
|
||||
g_free(install_path);
|
||||
}
|
||||
#endif
|
||||
|
||||
_GK.homedir = (gchar *) g_get_home_dir();
|
||||
|
@ -1655,11 +1658,8 @@ int main(int argc, char* argv[])
|
|||
if (install_path != NULL)
|
||||
{
|
||||
locale_dir = g_build_filename(install_path, LOCALEDIR, NULL);
|
||||
if (locale_dir != NULL)
|
||||
{
|
||||
bindtextdomain(PACKAGE_D, locale_dir);
|
||||
g_free(locale_dir);
|
||||
}
|
||||
g_free(install_path);
|
||||
}
|
||||
#else
|
||||
|
|
|
@ -284,18 +284,14 @@ gkrellmd_plugins_load(void)
|
|||
g_free(path);
|
||||
|
||||
#if defined(WIN32)
|
||||
path = NULL;
|
||||
gchar *install_path;
|
||||
install_path = g_win32_get_package_installation_directory_of_module(NULL);
|
||||
if (install_path != NULL)
|
||||
{
|
||||
path = g_build_filename(install_path, "lib", "gkrellm2", "plugins-gkrellmd", NULL);
|
||||
g_free(install_path);
|
||||
}
|
||||
if (path)
|
||||
{
|
||||
gkrellmd_plugin_scan(path);
|
||||
g_free(path);
|
||||
g_free(install_path);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
|
@ -1426,19 +1426,14 @@ gkrellm_make_themes_list(void)
|
|||
add_themes_to_list(theme_dir, TRUE);
|
||||
|
||||
#if defined(WIN32)
|
||||
theme_dir = NULL;
|
||||
gchar *install_path;
|
||||
install_path = g_win32_get_package_installation_directory_of_module(NULL);
|
||||
if (install_path != NULL)
|
||||
{
|
||||
theme_dir = g_build_filename(install_path, "share", "gkrellm2", "themes", NULL);
|
||||
g_free(install_path);
|
||||
}
|
||||
if (theme_dir)
|
||||
{
|
||||
add_themes_to_list(theme_dir, FALSE);
|
||||
g_free(theme_dir);
|
||||
theme_dir = NULL;
|
||||
g_free(install_path);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
Loading…
Reference in New Issue