changeset 20999:c4802e8288c1

Look for a default prefs.xml in the CSIDL_COMMON_APPDATA directory (e.g. c:\Documents and Settings\All Users\Application Data\purple\prefs.xml) on Windows, similarly to how this is done on other platforms.
author Daniel Atallah <daniel.atallah@gmail.com>
date Mon, 22 Oct 2007 23:37:00 +0000
parents a82465913e2e
children 89c7be36fd61 bc47a0388c66
files ChangeLog.win32 libpurple/prefs.c
diffstat 2 files changed, 19 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog.win32	Mon Oct 22 15:57:29 2007 +0000
+++ b/ChangeLog.win32	Mon Oct 22 23:37:00 2007 +0000
@@ -1,3 +1,14 @@
+version 2.2.2 (??/??/????):
+	* Updated gtkspell to include a patch to share Aspell dictionaries
+	  among all the input fields to avoid excessive memory usage.
+	* Update libxml2 to 2.6.30
+	* Bonjour protocol now appears even if Bonjour for Windows isn't
+	  present (displays message indicating Bonjour for Windows must be
+	  installed if you try to log in and it isn't installed).
+	* libpurple now looks for a default prefs.xml in the COMMON_APPDATA
+	  directory (e.g. \Documents and Settings\All Users\Application Data\purple\prefs.xml)
+	  similarly to how this is done on other platforms.
+
 version 2.2.0 (09/13/2007):
 	* Updated gtkspell to 2.0.11
 	* Upgrade SILC to use the 1.1.2 toolkit
--- a/libpurple/prefs.c	Mon Oct 22 15:57:29 2007 +0000
+++ b/libpurple/prefs.c	Mon Oct 22 23:37:00 2007 +0000
@@ -383,13 +383,20 @@
 	purple_debug_info("prefs", "Reading %s\n", filename);
 
 	if(!g_file_get_contents(filename, &contents, &length, &error)) {
-#ifndef _WIN32
+#ifdef _WIN32
+		gchar *common_appdata = wpurple_get_special_folder(CSIDL_COMMON_APPDATA);
+#endif
 		g_free(filename);
 		g_error_free(error);
 
 		error = NULL;
 
+#ifdef _WIN32
+		filename = g_build_filename(common_appdata ? common_appdata : "", "purple", "prefs.xml", NULL);
+		g_free(common_appdata);
+#else
 		filename = g_build_filename(SYSCONFDIR, "purple", "prefs.xml", NULL);
+#endif
 
 		purple_debug_info("prefs", "Reading %s\n", filename);
 
@@ -402,15 +409,6 @@
 
 			return FALSE;
 		}
-#else /* _WIN32 */
-		purple_debug_error("prefs", "Error reading prefs: %s\n",
-				error->message);
-		g_error_free(error);
-		g_free(filename);
-		prefs_loaded = TRUE;
-
-		return FALSE;
-#endif /* _WIN32 */
 	}
 
 	context = g_markup_parse_context_new(&prefs_parser, 0, NULL, NULL);