gdm r6058 - in trunk: . gui/simple-greeter
- From: halfline svn gnome org
- To: svn-commits-list gnome org
- Subject: gdm r6058 - in trunk: . gui/simple-greeter
- Date: Tue, 25 Mar 2008 18:54:20 +0000 (GMT)
Author: halfline
Date: Tue Mar 25 18:54:19 2008
New Revision: 6058
URL: http://svn.gnome.org/viewvc/gdm?rev=6058&view=rev
Log:
2008-03-25 Ray Strode <rstrode redhat com>
* gui/simple-greeter/gdm-languages.c:
(collect_locales_from_archive),
(collect_locales):
Don't scandir locale directory if we've successfully
read the locales from the archive
Modified:
trunk/ChangeLog
trunk/gui/simple-greeter/gdm-languages.c
Modified: trunk/gui/simple-greeter/gdm-languages.c
==============================================================================
--- trunk/gui/simple-greeter/gdm-languages.c (original)
+++ trunk/gui/simple-greeter/gdm-languages.c Tue Mar 25 18:54:19 2008
@@ -367,7 +367,7 @@
return is_utf8;
}
-static void
+static gboolean
collect_locales_from_archive (void)
{
GMappedFile *mapped;
@@ -379,15 +379,18 @@
uint32_t used;
uint32_t cnt;
gsize len;
+ gboolean locales_collected;
error = NULL;
mapped = g_mapped_file_new (ARCHIVE_FILE, FALSE, &error);
if (mapped == NULL) {
g_warning ("Mapping failed for %s: %s", ARCHIVE_FILE, error->message);
g_error_free (error);
- return;
+ return FALSE;
}
+ locales_collected = FALSE;
+
addr = g_mapped_file_get_contents (mapped);
len = g_mapped_file_get_length (mapped);
@@ -457,9 +460,11 @@
g_free (names);
+ locales_collected = TRUE;
out:
g_mapped_file_free (mapped);
+ return locales_collected;
}
static int
@@ -575,7 +580,10 @@
gdm_available_locales_map = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, (GDestroyNotify) chooser_locale_free);
}
- collect_locales_from_archive ();
+ if (collect_locales_from_archive ()) {
+ return;
+ }
+
collect_locales_from_directory ();
collect_locales_from_aliases ();
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]