shell-global: Do not deal with allocated strings as const char

The imagedir and userdatadir variables are not fetched from
constants/environment but created with g_strdup*/g_build*. Acknowledge that
and also free the strings in finalize.
This commit is contained in:
Carlos Garnacho 2018-02-27 14:20:47 +01:00 committed by Florian Müllner
parent d4f67a7d42
commit 4a17c8f4a9

View File

@ -73,8 +73,8 @@ struct _ShellGlobal {
ShellWM *wm; ShellWM *wm;
GSettings *settings; GSettings *settings;
const char *datadir; const char *datadir;
const char *imagedir; char *imagedir;
const char *userdatadir; char *userdatadir;
GFile *userdatadir_path; GFile *userdatadir_path;
GFile *runtime_state_path; GFile *runtime_state_path;
@ -337,6 +337,10 @@ shell_global_finalize (GObject *object)
g_clear_object (&global->userdatadir_path); g_clear_object (&global->userdatadir_path);
g_clear_object (&global->runtime_state_path); g_clear_object (&global->runtime_state_path);
g_free (global->session_mode);
g_free (global->imagedir);
g_free (global->userdatadir);
G_OBJECT_CLASS(shell_global_parent_class)->finalize (object); G_OBJECT_CLASS(shell_global_parent_class)->finalize (object);
} }