summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Mark Bell <jmb@netsurf-browser.org>2005-06-07 16:35:13 +0000
committerJohn Mark Bell <jmb@netsurf-browser.org>2005-06-07 16:35:13 +0000
commitbe6a75509d4abdd1ddc9742780e1a80e33f53917 (patch)
treeef4ede4aeb5bdd448a8ec92d926b87b06348a5ef
parent57b68bd9332f4c1636073ab8dd10a3ce50a173cf (diff)
downloadnetsurf-be6a75509d4abdd1ddc9742780e1a80e33f53917.tar.gz
netsurf-be6a75509d4abdd1ddc9742780e1a80e33f53917.tar.bz2
[project @ 2005-06-07 16:35:13 by jmb]
Convert status bar text to local encoding. Fixes bug 1215998 svn path=/import/netsurf/; revision=1743
-rw-r--r--riscos/window.c20
1 files changed, 17 insertions, 3 deletions
diff --git a/riscos/window.c b/riscos/window.c
index dd037cc5b..88e847bd8 100644
--- a/riscos/window.c
+++ b/riscos/window.c
@@ -883,10 +883,24 @@ void gui_window_set_extent(struct gui_window *g, int width, int height)
void gui_window_set_status(struct gui_window *g, const char *text)
{
+ char *local_text;
+
if ((!g->toolbar) || (!g->toolbar->status_handle))
return;
- ro_gui_set_icon_string(g->toolbar->status_handle,
- ICON_STATUS_TEXT, text);
+
+ /* convert text to local encoding */
+ local_text = cnv_str_local_enc(text);
+ if (!local_text) {
+ LOG(("failed converting '%s' to local encoding", text));
+ /* just use the UTF-8 text */
+ ro_gui_set_icon_string(g->toolbar->status_handle,
+ ICON_STATUS_TEXT, text);
+ }
+ else {
+ ro_gui_set_icon_string(g->toolbar->status_handle,
+ ICON_STATUS_TEXT, local_text);
+ free(local_text);
+ }
}
@@ -1761,7 +1775,7 @@ bool ro_gui_window_keypress(struct gui_window *g, int key, bool toolbar)
"%x (ignoring)", c));
return true;
}
-
+
/* Continuation of UTF8 character */
wc |= ((c & 0x3F) << (6 * --shift));
if (shift > 0)