Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37865403
en ru br
Репозитории ALT
5.1: 1.9.15-alt2.3
4.1: 1.9.15-alt1
4.0: 1.9.15-alt1
3.0: 1.9.14-alt5
www.altlinux.org/Changes

Группа :: Система/Библиотеки
Пакет: imlib

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: imlib-1.9.14-alt-imlib_config-i18n.patch
Скачать


diff -uprk.orig imlib-1.9.14.orig/utils/imlib_config.c imlib-1.9.14/utils/imlib_config.c
--- imlib-1.9.14.orig/utils/imlib_config.c	2001-07-17 20:16:03 +0400
+++ imlib-1.9.14/utils/imlib_config.c	2004-08-26 14:37:55 +0400
@@ -124,6 +124,27 @@ struct _vis
   }
                    *vislist;
 
+static char *saved_locale;
+
+static void save_current_locale( void )
+{
+	saved_locale = setlocale( LC_ALL, 0 );
+	if ( saved_locale )
+		saved_locale = strdup( saved_locale );
+	setlocale( LC_ALL, "C" );
+}
+
+static void restore_current_locale( void )
+{
+	if ( saved_locale )
+	{
+		setlocale( LC_ALL, saved_locale );
+		free( saved_locale );
+	}
+	else
+		setlocale( LC_ALL, "" );
+}
+
 GdkImlibImage      *
 make_pal_image()
 {
@@ -425,7 +446,6 @@ load_pal(char *f)
    int                 r, g, b, i;
    char                s[1024];
 
-  setlocale(LC_ALL, "C");
   ff = fopen(f, "r");
    if (ff)
      {
@@ -460,7 +480,6 @@ load_pal(char *f)
       color.color[i][1] = 0;
       color.color[i][2] = 0;
      }
-  setlocale(LC_ALL, "");
 }
 
 void
@@ -469,15 +488,13 @@ save_pal(char *f)
    FILE               *ff;
    int                 i;
 
-  setlocale(LC_ALL, "C");
   ff = fopen(f, "w");
    if (ff)
      {
 	for (i = 0; i < color.number; i++)
-	   fprintf(ff, "0x%x 0x%x 0x%x\n", color.color[i][0], color.color[i][1], color.color[i][2]);
+	   fprintf(ff, "%#x %#x %#x\n", color.color[i][0], color.color[i][1], color.color[i][2]);
 	fclose(ff);
      }
-  setlocale(LC_ALL, "");
 }
 
 void
@@ -756,7 +773,7 @@ load_imrc()
 
    h = getenv("HOME");
    g_snprintf(s, 2048, "%s/.imrc", h);
-  setlocale(LC_ALL, "C");
+  save_current_locale();
   f = fopen(s, "r");
    if (!f)
      {
@@ -765,7 +782,7 @@ load_imrc()
 	free(h);
      }
    read_imrc(f);
-  setlocale(LC_ALL, "");
+  restore_current_locale();
 }
 
 void
@@ -777,9 +794,9 @@ save_user(GtkWidget * widget, gpointer *
    h = getenv("HOME");
    g_snprintf(s, 2048, "%s/.imrc", h);
    f = fopen(s, "w");
-  setlocale(LC_ALL, "C");
+  save_current_locale();
   write_imrc(f);
-  setlocale(LC_ALL, "");
+  restore_current_locale();
 }
 
 void
@@ -791,10 +808,9 @@ save_sys(GtkWidget * widget, gpointer * 
    h = gdk_imlib_get_sysconfig();
    f = fopen(h, "w");
    free(h);
-  setlocale(LC_ALL, "C");
+  save_current_locale();
   write_imrc(f);
-  setlocale(LC_ALL, "");
-  
+  restore_current_locale();
 }
 
 void
@@ -1500,6 +1516,10 @@ int
 main(int argc, char **argv)
 {
    gtk_set_locale();
+#ifdef ENABLE_NLS
+   bindtextdomain(PACKAGE,GNOMELOCALEDIR);
+   textdomain(PACKAGE);
+#endif
    gtk_init(&argc, &argv);
    gdk_imlib_init();
    list_vis();
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin