aboutsummaryrefslogtreecommitdiffstats
path: root/lib/egg
diff options
context:
space:
mode:
Diffstat (limited to 'lib/egg')
-rw-r--r--lib/egg/eggdesktopfile.c15
-rw-r--r--lib/egg/eggsmclient-xsmp.c13
2 files changed, 25 insertions, 3 deletions
diff --git a/lib/egg/eggdesktopfile.c b/lib/egg/eggdesktopfile.c
index ce0c6f338..c18599881 100644
--- a/lib/egg/eggdesktopfile.c
+++ b/lib/egg/eggdesktopfile.c
@@ -1440,6 +1440,21 @@ egg_set_desktop_file (const char *desktop_file_path)
g_error_free (error);
}
+#if 0
+ if (egg_desktop_file) {
+ /* Set localized application name and default window icon */
+ if (egg_desktop_file->name)
+ g_set_application_name (egg_desktop_file->name);
+ if (egg_desktop_file->icon)
+ {
+ if (g_path_is_absolute (egg_desktop_file->icon))
+ gtk_window_set_default_icon_from_file (egg_desktop_file->icon, NULL);
+ else
+ gtk_window_set_default_icon_name (egg_desktop_file->icon);
+ }
+ }
+#endif
+
G_UNLOCK (egg_desktop_file);
}
diff --git a/lib/egg/eggsmclient-xsmp.c b/lib/egg/eggsmclient-xsmp.c
index dcaf36b98..81af7d2b6 100644
--- a/lib/egg/eggsmclient-xsmp.c
+++ b/lib/egg/eggsmclient-xsmp.c
@@ -830,10 +830,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))
{
@@ -876,8 +880,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