summaryrefslogtreecommitdiff
path: root/riscos
diff options
context:
space:
mode:
authorJohn Mark Bell <jmb@netsurf-browser.org>2005-06-07 21:29:26 +0000
committerJohn Mark Bell <jmb@netsurf-browser.org>2005-06-07 21:29:26 +0000
commit0bcfdbeb50b2435b848ea1fd50ccc79ba64fd129 (patch)
treeb24749b82e3e4f840f7ecfd7f2fcdfc5bd26a291 /riscos
parentbe6a75509d4abdd1ddc9742780e1a80e33f53917 (diff)
downloadnetsurf-0bcfdbeb50b2435b848ea1fd50ccc79ba64fd129.tar.gz
netsurf-0bcfdbeb50b2435b848ea1fd50ccc79ba64fd129.tar.bz2
[project @ 2005-06-07 21:29:26 by jmb]
Lose cnv_str_local_enc and friends. UTF-8 conversion functions now return an enumerated type allowing for fallbacks, if appropriate. svn path=/import/netsurf/; revision=1744
Diffstat (limited to 'riscos')
-rw-r--r--riscos/menus.c19
-rw-r--r--riscos/window.c18
2 files changed, 17 insertions, 20 deletions
diff --git a/riscos/menus.c b/riscos/menus.c
index 0fb7cec1f..e15c638d5 100644
--- a/riscos/menus.c
+++ b/riscos/menus.c
@@ -32,6 +32,7 @@
#include "netsurf/utils/log.h"
#include "netsurf/utils/messages.h"
#include "netsurf/utils/utils.h"
+#include "netsurf/utils/utf8.h"
struct ns_menu_entry {
@@ -534,7 +535,7 @@ void ro_gui_menu_closed(void) {
void ro_gui_menu_objects_moved(void) {
gui_form_select_control = NULL;
current_menu_object_box = NULL;
-
+
ro_gui_menu_prepare_action(0, BROWSER_OBJECT, false);
if ((current_menu) && (current_menu == gui_form_select_menu))
ro_gui_menu_closed();
@@ -566,6 +567,7 @@ void ro_gui_menu_selection(wimp_selection *selection) {
entries[selection->items[i]];
action = ro_gui_menu_find_action(current_menu, menu_entry);
+
/* perform menu action */
if (action != NO_ACTION)
ro_gui_menu_handle_action(current_menu_window, action, false);
@@ -904,6 +906,7 @@ void gui_create_form_select_menu(struct browser_window *bw,
wimp_pointer pointer;
os_error *error;
bool reopen = true;
+ utf8_convert_ret err;
assert(control);
@@ -959,13 +962,11 @@ void gui_create_form_select_menu(struct browser_window *bw,
wimp_ICON_FG_COLOUR_SHIFT) |
(wimp_COLOUR_WHITE <<
wimp_ICON_BG_COLOUR_SHIFT);
- text_convert = cnv_str_local_enc(option->text);
- if (!text_convert) {
- LOG(("cnv_str_local_enc failed."));
- warn_user("NoMemory", 0);
- ro_gui_menu_closed();
- return;
- }
+ err = utf8_to_enc(option->text,
+ local_encoding_name(), 0, &text_convert);
+ /* this should never fail */
+ assert(err == UTF8_CONVERT_OK);
+
gui_form_select_menu->entries[i].data.indirected_text.text =
text_convert;
/* convert spaces to hard spaces to stop things like 'Go Home'
@@ -2004,7 +2005,7 @@ int ro_gui_menu_get_checksum(void) {
int i = 0, j, checksum = 0;
os_error *error;
wimp_menu *menu;
-
+
if (!current_menu_open)
return 0;
diff --git a/riscos/window.c b/riscos/window.c
index 88e847bd8..01c7ce8c2 100644
--- a/riscos/window.c
+++ b/riscos/window.c
@@ -884,23 +884,19 @@ 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;
+ utf8_convert_ret err;
if ((!g->toolbar) || (!g->toolbar->status_handle))
return;
/* 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,
+ err = utf8_to_enc(text, local_encoding_name(), 0, &local_text);
+ /* this should never fail */
+ assert(err == UTF8_CONVERT_OK);
+
+ ro_gui_set_icon_string(g->toolbar->status_handle,
ICON_STATUS_TEXT, local_text);
- free(local_text);
- }
+ free(local_text);
}