summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Mark Bell <jmb@netsurf-browser.org>2005-06-07 21:58:17 +0000
committerJohn Mark Bell <jmb@netsurf-browser.org>2005-06-07 21:58:17 +0000
commitc0fce75798460fd00ae9f84bf4c9613558ee9324 (patch)
treebbb2ee0e89304b10afb60ea83f66a729750204dd
parent0bcfdbeb50b2435b848ea1fd50ccc79ba64fd129 (diff)
downloadnetsurf-c0fce75798460fd00ae9f84bf4c9613558ee9324.tar.gz
netsurf-c0fce75798460fd00ae9f84bf4c9613558ee9324.tar.bz2
[project @ 2005-06-07 21:58:17 by jmb]
Fix stupid assertions. svn path=/import/netsurf/; revision=1745
-rw-r--r--desktop/browser.c17
-rw-r--r--riscos/menus.c11
-rw-r--r--riscos/window.c8
3 files changed, 28 insertions, 8 deletions
diff --git a/desktop/browser.c b/desktop/browser.c
index 13ca3cab9..e65fa38c6 100644
--- a/desktop/browser.c
+++ b/desktop/browser.c
@@ -489,10 +489,19 @@ void browser_window_update(struct browser_window *bw,
if (bw->current_content->title != NULL) {
err = utf8_to_enc(bw->current_content->title,
local_encoding_name(), 0, &title_local_enc);
- /* this should never fail */
- assert(err == UTF8_CONVERT_OK);
- gui_window_set_title(bw->window, title_local_enc);
- free(title_local_enc);
+ if (err != UTF8_CONVERT_OK) {
+ /* A bad encoding should never happen,
+ * so assert this */
+ assert(err != UTF8_CONVERT_BADENC);
+ LOG(("utf8_to_enc failed"));
+ /* use utf-8 encoded title instead */
+ gui_window_set_title(bw->window,
+ bw->current_content->title);
+ }
+ else {
+ gui_window_set_title(bw->window, title_local_enc);
+ free(title_local_enc);
+ }
} else
gui_window_set_title(bw->window, bw->current_content->url);
diff --git a/riscos/menus.c b/riscos/menus.c
index e15c638d5..42f2d6f01 100644
--- a/riscos/menus.c
+++ b/riscos/menus.c
@@ -964,8 +964,15 @@ void gui_create_form_select_menu(struct browser_window *bw,
wimp_ICON_BG_COLOUR_SHIFT);
err = utf8_to_enc(option->text,
local_encoding_name(), 0, &text_convert);
- /* this should never fail */
- assert(err == UTF8_CONVERT_OK);
+ if (err != UTF8_CONVERT_OK) {
+ /* A bad encoding should never happen,
+ * so assert this */
+ assert(err != UTF8_CONVERT_BADENC);
+ LOG(("utf8_to_enc failed"));
+ warn_user("NoMemory", 0);
+ ro_gui_menu_closed();
+ return;
+ }
gui_form_select_menu->entries[i].data.indirected_text.text =
text_convert;
diff --git a/riscos/window.c b/riscos/window.c
index 01c7ce8c2..12729853b 100644
--- a/riscos/window.c
+++ b/riscos/window.c
@@ -891,8 +891,12 @@ void gui_window_set_status(struct gui_window *g, const char *text)
/* convert text to local encoding */
err = utf8_to_enc(text, local_encoding_name(), 0, &local_text);
- /* this should never fail */
- assert(err == UTF8_CONVERT_OK);
+ if (err != UTF8_CONVERT_OK) {
+ /* A bad encoding should never happen, so assert this */
+ assert(err != UTF8_CONVERT_BADENC);
+ LOG(("utf8_to_enc failed"));
+ return;
+ }
ro_gui_set_icon_string(g->toolbar->status_handle,
ICON_STATUS_TEXT, local_text);