X-Git-Url: http://wpitchoune.net/gitweb/?p=psensor-pkg-debian.git;a=blobdiff_plain;f=src%2Fpxdg.c;h=14c3021fa9a2026dafcaf02c52264e48402af7c7;hp=7c3cffa03dca5a564fdeae55415864920c631fef;hb=c3abbf72410200f22ee7a3b11bb17ae1836bf2b8;hpb=f59206913efca168851e1a3f57b1b0f5a50495ec diff --git a/src/pxdg.c b/src/pxdg.c index 7c3cffa..14c3021 100644 --- a/src/pxdg.c +++ b/src/pxdg.c @@ -46,7 +46,7 @@ static char *get_user_desktop_file() char *dir, *path; dir = get_user_autostart_dir(); - path = path_append(dir, "psensor.desktop"); + path = path_append(dir, PSENSOR_DESKTOP_FILE); free(dir); @@ -55,7 +55,7 @@ static char *get_user_desktop_file() static const char *get_desktop_file() { - return DATADIR"/applications/psensor.desktop"; + return DATADIR"/applications/"PSENSOR_DESKTOP_FILE; } static int is_file_exists(const char *path) @@ -77,14 +77,13 @@ static GKeyFile *get_key_file(const char *path) | G_KEY_FILE_KEEP_TRANSLATIONS, NULL); - if (ret) { + if (ret) return kfile; - } else { - log_err("Failed to parse: %s", path); - g_key_file_free(kfile); - return NULL; - } + log_err("Failed to parse: %s", path); + + g_key_file_free(kfile); + return NULL; } static int is_user_desktop_autostarted(GKeyFile *f) @@ -123,8 +122,8 @@ int pxdg_is_autostarted() ret = is_user_desktop_autostarted(kfile); else ret = -1; + g_key_file_free(kfile); } - g_key_file_free(kfile); } free(user_desktop); @@ -160,7 +159,7 @@ static void enable_gnome_autostart(const char *path) void pxdg_set_autostart(unsigned int enable) { - char *user_desktop; + char *user_desktop, *dir; log_fct_enter(); @@ -171,8 +170,12 @@ void pxdg_set_autostart(unsigned int enable) log_fct("desktop file: %s", get_desktop_file()); if (enable) { - if (!is_file_exists(user_desktop)) + if (!is_file_exists(user_desktop)) { + dir = get_user_autostart_dir(); + mkdirs(dir, 0700); + free(dir); file_copy(get_desktop_file(), user_desktop); + } enable_gnome_autostart(user_desktop); } else { /* because X-GNOME-Autostart-enabled does not turn off