xkb-plugin and uppercase characters

Victor Ananjevsky <[email protected]> Mon, 8 May 2006 09:55:11 +0300
Newsgroups gmane.comp.desktop.xfce.goodies.devel
Message-ID <[email protected]>
Hello, list

When path to flag images for xfce4-xkb-plugin contain upper-case characters, images don't show.

There is a little patch correction this issue. 

-- 
wbr

Victor "Ananas" Ananjevsky
Registered Linus user #202480
Jabber ID: [email protected]
flag-path.patch (application/octet-stream, 1.6 KB)
--- panel-plugin/xkb.c.orig	2006-03-27 23:53:19.000000000 +0300
+++ panel-plugin/xkb.c	2006-05-08 09:38:03.000000000 +0300
@@ -299,31 +299,16 @@
   return status;
 }
 
-char *
-get_current_gourp_flag_name(char *filename) 
-{
-  char *group;
-
-  group = strdup(get_symbol_name_by_res_no(current_group_xkb_no));
-  strcpy(filename, FLAGSDIR);
-  strcat(filename, "/");
-  strcat(filename, group);
-  strcat(filename, ".png");
-  to_lower(filename);
-
-  free(group);
-
-  return filename;
-}
-
 gboolean temporary_changed_display_type = FALSE;
 
 gboolean 
 is_current_group_flag_available() 
 {
-  char filename[255];
+  char *filename;
   gboolean result = FALSE;
-  GdkPixbuf *tmp = gdk_pixbuf_new_from_file(get_current_gourp_flag_name(filename), NULL);
+  filename = g_strdup_printf("%s/%s.png", FLAGSDIR, to_lower(get_current_group_name()));
+  GdkPixbuf *tmp = gdk_pixbuf_new_from_file(filename, NULL);
+  g_free(filename);
   result = (gboolean) (tmp != NULL);
   g_object_unref(tmp);
   return result;
@@ -366,7 +351,7 @@
 set_new_locale(t_xkb *ctrl) 
 {
   t_xkb *plugin = (t_xkb *) ctrl;
-  char filename[255];
+  char *filename;
   char *label_markup;
   int size;
   GdkPixbuf *pixbuf, *tmp;
@@ -378,7 +363,9 @@
 
   /* Set the image */
   size = 0.9 * plugin->size;
-  tmp = gdk_pixbuf_new_from_file(get_current_gourp_flag_name(filename), NULL);
+  filename = g_strdup_printf("%s/%s.png", FLAGSDIR, to_lower(get_current_group_name()));
+  tmp = gdk_pixbuf_new_from_file(filename, NULL);
+  g_free(filename);
   if (tmp == NULL) { /* could not be loaded for some reason */
     if (plugin->display_type == IMAGE) {
       temporary_changed_display_type = TRUE;
signature.asc (application/pgp-signature, 189 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQFEXutTFc7wzpGzGjkRAjnyAJ9PJSZgWu7P0xjguPmp04zztNvEHACfYnhR
FdSGepDyBnqVcDOIdEeJvJ0=
=4PrE
-----END PGP SIGNATURE-----