diff options
author | Richard Wilson <rjw@netsurf-browser.org> | 2004-08-31 18:01:22 +0000 |
---|---|---|
committer | Richard Wilson <rjw@netsurf-browser.org> | 2004-08-31 18:01:22 +0000 |
commit | a8661b3a6435e9b191230b1cec5195efb5ac3d51 (patch) | |
tree | df50c78fabc5a90c88727ce440f95452ec806516 /riscos/wimp.c | |
parent | 98d17f19a6d901abd28f2c89975bcd5faad0f3ea (diff) | |
download | netsurf-a8661b3a6435e9b191230b1cec5195efb5ac3d51.tar.gz netsurf-a8661b3a6435e9b191230b1cec5195efb5ac3d51.tar.bz2 |
[project @ 2004-08-31 18:01:22 by rjw]
Further theme related fixes
svn path=/import/netsurf/; revision=1257
Diffstat (limited to 'riscos/wimp.c')
-rw-r--r-- | riscos/wimp.c | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/riscos/wimp.c b/riscos/wimp.c index 5c9202ca8..395c1ae31 100644 --- a/riscos/wimp.c +++ b/riscos/wimp.c @@ -216,9 +216,17 @@ void ro_gui_set_icon_integer(wimp_w w, wimp_i i, int value) { * \param i icon handle * \param state selected state */ -#define ro_gui_set_icon_selected_state(w, i, state) \ - xwimp_set_icon_state(w, i, (state ? wimp_ICON_SELECTED : 0), wimp_ICON_SELECTED) - +void ro_gui_set_icon_selected_state(wimp_w w, wimp_i i, bool state) { + os_error *error; + if (ro_gui_get_icon_selected_state(w, i) == state) return; + error = xwimp_set_icon_state(w, i, + (state ? wimp_ICON_SELECTED : 0), wimp_ICON_SELECTED); + if (error) { + LOG(("xwimp_get_icon_state: 0x%x: %s", + error->errnum, error->errmess)); + warn_user("WimpError", error->errmess); + } +} /** * Gets the selected state of an icon. @@ -227,11 +235,18 @@ void ro_gui_set_icon_integer(wimp_w w, wimp_i i, int value) { * \param i icon handle */ bool ro_gui_get_icon_selected_state(wimp_w w, wimp_i i) { + os_error *error; wimp_icon_state ic; ic.w = w; ic.i = i; - xwimp_get_icon_state(&ic); - return (ic.icon.flags & wimp_ICON_SELECTED) != 0; + error = xwimp_get_icon_state(&ic); + if (error) { + LOG(("xwimp_get_icon_state: 0x%x: %s", + error->errnum, error->errmess)); + warn_user("WimpError", error->errmess); + return false; + } + return ((ic.icon.flags & wimp_ICON_SELECTED) != 0); } |