X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=cut-n-paste%2Fsmclient%2Feggsmclient-xsmp.c;h=1a56156ce2e1150de929738a8b0cb643d99ceb90;hb=f9c2880d31bb2f5d4411849b9207c5d26a5c616a;hp=e4b11f6288d64e84d3eeff238d343feabd866d19;hpb=edd999ae3841b9f4224ebb4dbd8ec4ce182ce0e7;p=evince.git diff --git a/cut-n-paste/smclient/eggsmclient-xsmp.c b/cut-n-paste/smclient/eggsmclient-xsmp.c index e4b11f62..1a56156c 100644 --- a/cut-n-paste/smclient/eggsmclient-xsmp.c +++ b/cut-n-paste/smclient/eggsmclient-xsmp.c @@ -795,10 +795,14 @@ save_state (EggSMClientXSMP *xsmp) if (desktop_file) { GKeyFile *merged_file; + char *desktop_file_path; merged_file = g_key_file_new (); - if (g_key_file_load_from_file (merged_file, - egg_desktop_file_get_source (desktop_file), + desktop_file_path = + g_filename_from_uri (egg_desktop_file_get_source (desktop_file), + NULL, NULL); + if (desktop_file_path && + g_key_file_load_from_file (merged_file, desktop_file_path, G_KEY_FILE_KEEP_COMMENTS | G_KEY_FILE_KEEP_TRANSLATIONS, NULL)) { @@ -841,8 +845,11 @@ save_state (EggSMClientXSMP *xsmp) EGG_DESKTOP_FILE_KEY_EXEC, exec); g_free (exec); - } + else + desktop_file = NULL; + + g_free (desktop_file_path); } /* Now write state_file to disk. (We can't use mktemp(), because