summaryrefslogtreecommitdiff
path: root/riscos
diff options
context:
space:
mode:
authorJohn Mark Bell <jmb@netsurf-browser.org>2004-07-27 02:34:13 +0000
committerJohn Mark Bell <jmb@netsurf-browser.org>2004-07-27 02:34:13 +0000
commitd378575d4c484d4e9fe8dba56c93323053de668a (patch)
tree5613aa7b51d61b6861e8111ed3cdd86b576d2ad4 /riscos
parent456077353cf08f64684d3736a81e7e91d8c45a0c (diff)
downloadnetsurf-d378575d4c484d4e9fe8dba56c93323053de668a.tar.gz
netsurf-d378575d4c484d4e9fe8dba56c93323053de668a.tar.bz2
[project @ 2004-07-27 02:34:13 by jmb]
Fix redraw issue with themes config Prevent deselection of all radio icons Fix read from NULL pointer when setting homepage URL svn path=/import/netsurf/; revision=1152
Diffstat (limited to 'riscos')
-rw-r--r--riscos/dialog.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/riscos/dialog.c b/riscos/dialog.c
index 0f48448c4..7f44ee302 100644
--- a/riscos/dialog.c
+++ b/riscos/dialog.c
@@ -393,12 +393,20 @@ void ro_gui_dialog_click_config(wimp_pointer *pointer)
set_theme_choices();
break;
case ICON_CONFIG_BROWSER:
+ /* set selected state of radio icon to prevent
+ * de-selection of all radio icons */
+ if (pointer->buttons == wimp_CLICK_ADJUST)
+ ro_gui_set_icon_selected_state(dialog_config, ICON_CONFIG_BROWSER, true);
ro_gui_dialog_update_config(dialog_config_br);
break;
case ICON_CONFIG_PROXY:
+ if (pointer->buttons == wimp_CLICK_ADJUST)
+ ro_gui_set_icon_selected_state(dialog_config, ICON_CONFIG_PROXY, true);
ro_gui_dialog_update_config(dialog_config_prox);
break;
case ICON_CONFIG_THEME:
+ if (pointer->buttons == wimp_CLICK_ADJUST)
+ ro_gui_set_icon_selected_state(dialog_config, ICON_CONFIG_THEME, true);
ro_gui_dialog_open_config_th();
break;
}
@@ -651,6 +659,7 @@ void ro_gui_dialog_click_config_th(wimp_pointer *pointer)
#define THEME_HEIGHT 80
+#define THEME_WIDTH 705
/**
* Handle clicks in the scrolling Theme Choices list pane.
@@ -687,7 +696,7 @@ void ro_gui_dialog_click_config_th_pane(wimp_pointer *pointer)
if (i != theme_list_entries) {
error = xwimp_force_redraw(dialog_config_th_pane,
0, -i * THEME_HEIGHT - THEME_HEIGHT - 2,
- 600, -i * THEME_HEIGHT + 2);
+ THEME_WIDTH, -i * THEME_HEIGHT + 2);
if (error) {
LOG(("xwimp_force_redraw: 0x%x: %s",
error->errnum, error->errmess));
@@ -702,7 +711,7 @@ void ro_gui_dialog_click_config_th_pane(wimp_pointer *pointer)
error = xwimp_force_redraw(dialog_config_th_pane,
0, -y * THEME_HEIGHT - THEME_HEIGHT - 2,
- 600, -y * THEME_HEIGHT + 2);
+ THEME_WIDTH, -y * THEME_HEIGHT + 2);
if (error) {
LOG(("xwimp_force_redraw: 0x%x: %s",
error->errnum, error->errmess));
@@ -776,7 +785,7 @@ void ro_gui_redraw_config_th_pane_plot(wimp_draw *redraw)
if (error)
break;
error = xos_plot(os_PLOT_RECTANGLE | os_PLOT_BY,
- 705, -THEME_HEIGHT);
+ THEME_WIDTH, -THEME_HEIGHT);
if (error)
break;
error = xwimptextop_set_colour(os_COLOUR_BLACK,
@@ -963,7 +972,7 @@ void set_browser_choices(void) {
language_name(option_accept_language ?
option_accept_language : "en"));
ro_gui_set_icon_string(dialog_config_br, ICON_CONFIG_BR_HOMEPAGE_URL,
- option_homepage_url);
+ option_homepage_url ? option_homepage_url : "");
ro_gui_set_icon_selected_state(dialog_config_br, ICON_CONFIG_BR_OPENBROWSER,
option_open_browser_at_startup);