evince r3588 - in branches/gnome-2-26: . cut-n-paste/smclient



Author: nshmyrev
Date: Wed Apr  8 22:50:56 2009
New Revision: 3588
URL: http://svn.gnome.org/viewvc/evince?rev=3588&view=rev

Log:
2009-04-08  Dan Winship  <danw gnome org>
 
	* cut-n-paste/smclient/eggsmclient-xsmp.c (save_state):
 	
 	Fix the .desktop-file-as-state-file case;
 	egg_desktop_file_get_source() returns a URI, not a filename.



Modified:
   branches/gnome-2-26/ChangeLog
   branches/gnome-2-26/cut-n-paste/smclient/eggsmclient-xsmp.c

Modified: branches/gnome-2-26/cut-n-paste/smclient/eggsmclient-xsmp.c
==============================================================================
--- branches/gnome-2-26/cut-n-paste/smclient/eggsmclient-xsmp.c	(original)
+++ branches/gnome-2-26/cut-n-paste/smclient/eggsmclient-xsmp.c	Wed Apr  8 22:50:56 2009
@@ -795,10 +795,14 @@
   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 @@
 				 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



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]