Gitweb links:
...log
http://git.netsurf-browser.org/netsurf.git/shortlog/c0469ca905ef699fef36b...
...commit
http://git.netsurf-browser.org/netsurf.git/commit/c0469ca905ef699fef36b02...
...tree
http://git.netsurf-browser.org/netsurf.git/tree/c0469ca905ef699fef36b02c0...
The branch, master has been updated
via c0469ca905ef699fef36b02c058a21fed821d564 (commit)
from e62db5a49cbd7c8786a1b88617e5629ad0d0f64e (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commitdiff
http://git.netsurf-browser.org/netsurf.git/commit/?id=c0469ca905ef699fef3...
commit c0469ca905ef699fef36b02c058a21fed821d564
Author: Vincent Sanders <vince(a)kyllikki.org>
Commit: Vincent Sanders <vince(a)kyllikki.org>
pass a url info the RISC OS object info preparation
The target url was previously being passed as a string derived from
nsurl_access which was asserting if the target_url was NULL. The nsurl
is now passed and a null check performed before attempting to access
it.
Closes #2298
diff --git a/riscos/window.c b/riscos/window.c
index 05e9292..fae7566 100644
--- a/riscos/window.c
+++ b/riscos/window.c
@@ -126,7 +126,7 @@ static bool ro_gui_window_content_export_types(hlcache_handle *h,
bool *export_draw, bool *export_sprite);
static void ro_gui_window_prepare_pageinfo(struct gui_window *g);
static void ro_gui_window_prepare_objectinfo(hlcache_handle *object,
- const char *href);
+ nsurl *target_url);
static void ro_gui_window_launch_url(struct gui_window *g, const char *url);
static void ro_gui_window_action_home(struct gui_window *g);
@@ -2443,7 +2443,7 @@ void ro_gui_window_menu_warning(wimp_w w, wimp_i i, wimp_menu
*menu,
case BROWSER_OBJECT_INFO:
if (current_menu_object != NULL)
ro_gui_window_prepare_objectinfo(current_menu_object,
- nsurl_access(current_menu_url));
+ current_menu_url);
break;
case BROWSER_OBJECT_SAVE:
@@ -2758,7 +2758,7 @@ bool ro_gui_window_menu_select(wimp_w w, wimp_i i, wimp_menu *menu,
case BROWSER_OBJECT_INFO:
if (current_menu_object != NULL) {
ro_gui_window_prepare_objectinfo(current_menu_object,
- nsurl_access(current_menu_url));
+ current_menu_url);
ro_gui_dialog_open_persistent(g->window,
dialog_objinfo, false);
}
@@ -3854,28 +3854,30 @@ void ro_gui_window_prepare_pageinfo(struct gui_window *g)
* Prepare the object info window for use
*
* \param *object the object for which information is to be displayed
- * \param *href corresponding href, if any
+ * \param *target_url corresponding url, if any
*/
-void ro_gui_window_prepare_objectinfo(hlcache_handle *object, const char *href)
+void ro_gui_window_prepare_objectinfo(hlcache_handle *object, nsurl *target_url)
{
char icon_buf[20] = "file_xxx";
const char *url;
lwc_string *mime;
const char *target = "-";
- sprintf(icon_buf, "file_%.3x",
- ro_content_filetype(object));
- if (!ro_gui_wimp_sprite_exists(icon_buf))
+ sprintf(icon_buf, "file_%.3x",ro_content_filetype(object));
+ if (!ro_gui_wimp_sprite_exists(icon_buf)) {
sprintf(icon_buf, "file_xxx");
+ }
url = nsurl_access(hlcache_handle_get_url(object));
- if (url == NULL)
+ if (url == NULL) {
url = "-";
+ }
mime = content_get_mime_type(object);
- if (href)
- target = href;
+ if (target_url != NULL) {
+ target = nsurl_access(target_url);
+ }
ro_gui_set_icon_string(dialog_objinfo, ICON_OBJINFO_ICON,
icon_buf, true);
-----------------------------------------------------------------------
Summary of changes:
riscos/window.c | 24 +++++++++++++-----------
1 file changed, 13 insertions(+), 11 deletions(-)
diff --git a/riscos/window.c b/riscos/window.c
index 05e9292..fae7566 100644
--- a/riscos/window.c
+++ b/riscos/window.c
@@ -126,7 +126,7 @@ static bool ro_gui_window_content_export_types(hlcache_handle *h,
bool *export_draw, bool *export_sprite);
static void ro_gui_window_prepare_pageinfo(struct gui_window *g);
static void ro_gui_window_prepare_objectinfo(hlcache_handle *object,
- const char *href);
+ nsurl *target_url);
static void ro_gui_window_launch_url(struct gui_window *g, const char *url);
static void ro_gui_window_action_home(struct gui_window *g);
@@ -2443,7 +2443,7 @@ void ro_gui_window_menu_warning(wimp_w w, wimp_i i, wimp_menu
*menu,
case BROWSER_OBJECT_INFO:
if (current_menu_object != NULL)
ro_gui_window_prepare_objectinfo(current_menu_object,
- nsurl_access(current_menu_url));
+ current_menu_url);
break;
case BROWSER_OBJECT_SAVE:
@@ -2758,7 +2758,7 @@ bool ro_gui_window_menu_select(wimp_w w, wimp_i i, wimp_menu *menu,
case BROWSER_OBJECT_INFO:
if (current_menu_object != NULL) {
ro_gui_window_prepare_objectinfo(current_menu_object,
- nsurl_access(current_menu_url));
+ current_menu_url);
ro_gui_dialog_open_persistent(g->window,
dialog_objinfo, false);
}
@@ -3854,28 +3854,30 @@ void ro_gui_window_prepare_pageinfo(struct gui_window *g)
* Prepare the object info window for use
*
* \param *object the object for which information is to be displayed
- * \param *href corresponding href, if any
+ * \param *target_url corresponding url, if any
*/
-void ro_gui_window_prepare_objectinfo(hlcache_handle *object, const char *href)
+void ro_gui_window_prepare_objectinfo(hlcache_handle *object, nsurl *target_url)
{
char icon_buf[20] = "file_xxx";
const char *url;
lwc_string *mime;
const char *target = "-";
- sprintf(icon_buf, "file_%.3x",
- ro_content_filetype(object));
- if (!ro_gui_wimp_sprite_exists(icon_buf))
+ sprintf(icon_buf, "file_%.3x",ro_content_filetype(object));
+ if (!ro_gui_wimp_sprite_exists(icon_buf)) {
sprintf(icon_buf, "file_xxx");
+ }
url = nsurl_access(hlcache_handle_get_url(object));
- if (url == NULL)
+ if (url == NULL) {
url = "-";
+ }
mime = content_get_mime_type(object);
- if (href)
- target = href;
+ if (target_url != NULL) {
+ target = nsurl_access(target_url);
+ }
ro_gui_set_icon_string(dialog_objinfo, ICON_OBJINFO_ICON,
icon_buf, true);
--
NetSurf Browser