--- gaimosd-1.0.0.orig/display.c 2004-09-20 10:08:44.000000000 +0400 +++ gaimosd-1.0.0.new/display.c 2006-01-24 01:07:56.000000000 +0300 @@ -75,8 +75,10 @@ osd_display_cb(osd_display_t *disp) XOSD_SCROLL(Osd, 1); if (disp->slist) { gchar *tmp = (gchar *) disp->slist->data; - XOSD_DISPLAY(Osd, Osd_lines-1, XOSD_string, tmp); + gchar *tmp_locale = g_locale_from_utf8(tmp, -1, NULL, NULL, NULL); + XOSD_DISPLAY(Osd, Osd_lines-1, XOSD_string, tmp_locale); disp->slist = g_slist_delete_link(disp->slist, disp->slist); + g_free(tmp_locale); g_free(tmp); } return TRUE; @@ -333,8 +335,10 @@ osd_display(GaimConnection *gc, GaimConv if (!slist) break; tmp = (gchar *) slist->data; - XOSD_DISPLAY(Osd, i, XOSD_string, tmp); + gchar *tmp_locale = g_locale_from_utf8(tmp, -1, NULL, NULL, NULL); + XOSD_DISPLAY(Osd, i, XOSD_string, tmp_locale); slist = g_slist_delete_link(slist, slist); + g_free(tmp_locale); g_free(tmp); lines--; }