diff options
author | bigbear <ns@bigbear.dk> | 2024-02-08 03:11:14 +0100 |
---|---|---|
committer | bigbear <ns@bigbear.dk> | 2024-02-08 19:52:53 +0100 |
commit | 410e1c7796a4142b565909bf645c21c4ef4d7b12 (patch) | |
tree | f87e9f36b417438a1b0d7031d8116288a739cda2 /shell/callbacks.c | |
parent | a56d9001c7c919326be172171ddb0404640d1ec0 (diff) |
FIX back port save settings older glib
Diffstat (limited to 'shell/callbacks.c')
-rw-r--r-- | shell/callbacks.c | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/shell/callbacks.c b/shell/callbacks.c index af223e19..a70d520b 100644 --- a/shell/callbacks.c +++ b/shell/callbacks.c @@ -36,12 +36,38 @@ void cb_sync_manager() sync_manager_show(shell->window); } +#if GLIB_CHECK_VERSION(2,40,0) +#else +//For compatibility with older glib +gboolean g2_key_file_save_to_file (GKeyFile *key_file, + const gchar *filename, GError **error) +{ + gchar *contents; + gboolean success; + gsize length; + + g_return_val_if_fail (key_file != NULL, FALSE); + g_return_val_if_fail (filename != NULL, FALSE); + g_return_val_if_fail (error == NULL || *error == NULL, FALSE); + + contents = g_key_file_to_data (key_file, &length, NULL); + g_assert (contents != NULL); + + success = g_file_set_contents (filename, contents, length, error); + g_free (contents); + + return success; +} +#endif void cb_sync_on_startup() { gboolean setting = shell_action_get_active("SyncOnStartupAction"); GKeyFile *key_file = g_key_file_new(); + g_mkdir(g_get_user_config_dir(),0755); + g_mkdir(g_build_filename(g_get_user_config_dir(), "hardinfo", NULL),0755); + gchar *conf_path = g_build_filename(g_get_user_config_dir(), "hardinfo2", "settings.ini", NULL); @@ -49,8 +75,11 @@ void cb_sync_on_startup() key_file, conf_path, G_KEY_FILE_KEEP_COMMENTS | G_KEY_FILE_KEEP_TRANSLATIONS, NULL); g_key_file_set_boolean(key_file, "Sync", "OnStartup", setting); +#if GLIB_CHECK_VERSION(2,40,0) g_key_file_save_to_file(key_file, conf_path, NULL); - +#else + g2_key_file_save_to_file(key_file, conf_path, NULL); +#endif g_free(conf_path); g_key_file_free(key_file); } |