Gitweb links:

...log 
http://git.netsurf-browser.org/netsurf.git/shortlog/6a36d4ec2b6fd8ac52da2c3883b4776aec14ba2d
...commit 
http://git.netsurf-browser.org/netsurf.git/commit/6a36d4ec2b6fd8ac52da2c3883b4776aec14ba2d
...tree 
http://git.netsurf-browser.org/netsurf.git/tree/6a36d4ec2b6fd8ac52da2c3883b4776aec14ba2d

The branch, master has been updated
       via  6a36d4ec2b6fd8ac52da2c3883b4776aec14ba2d (commit)
       via  69cea38f41b411ca9e55db365cf94339f4be891c (commit)
       via  dd14807c8cdff2f486f5da832490ff958c87ba62 (commit)
       via  7ec49463dafc20f915ce68c789f36458579783c3 (commit)
      from  5c427ba8459b46bcb63daa74e4e03f2e22ed6deb (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=6a36d4ec2b6fd8ac52da2c3883b4776aec14ba2d
commit 6a36d4ec2b6fd8ac52da2c3883b4776aec14ba2d
Author: Vincent Sanders <[email protected]>
Commit: Vincent Sanders <[email protected]>

    remove all core usage of warn_user API

diff --git a/content/fetchers/curl.c b/content/fetchers/curl.c
index 7b9c5f0..b94a3f2 100644
--- a/content/fetchers/curl.c
+++ b/content/fetchers/curl.c
@@ -53,6 +53,7 @@
 #include "utils/file.h"
 #include "utils/string.h"
 #include "desktop/gui_fetch.h"
+#include "desktop/gui_misc.h"
 #include "desktop/gui_internal.h"
 
 #include "content/fetch.h"
@@ -1053,7 +1054,7 @@ static void fetch_curl_poll(lwc_string *scheme_ignored)
                codem = curl_multi_perform(fetch_curl_multi, &running);
                if (codem != CURLM_OK && codem != CURLM_CALL_MULTI_PERFORM) {
                        LOG("curl_multi_perform: %i %s", codem, 
curl_multi_strerror(codem));
-                       warn_user("MiscError", curl_multi_strerror(codem));
+                       guit->misc->warning("MiscError", 
curl_multi_strerror(codem));
                        return;
                }
        } while (codem == CURLM_CALL_MULTI_PERFORM);
diff --git a/desktop/browser.c b/desktop/browser.c
index 9316b77..4cd017d 100644
--- a/desktop/browser.c
+++ b/desktop/browser.c
@@ -1205,7 +1205,7 @@ browser_window_callback_errorcode(hlcache_handle *c,
 
        /* Only warn the user about errors in top-level windows */
        if (bw->browser_window_type == BROWSER_WINDOW_NORMAL) {
-               warn_user(message, 0);
+               guit->misc->warning(message, NULL);
        }
 
        if (c == bw->loading_content) {
@@ -1459,8 +1459,9 @@ static nserror browser_window_callback(hlcache_handle *c,
                browser_window_set_status(bw, event->data.error);
 
                /* Only warn the user about errors in top-level windows */
-               if (bw->browser_window_type == BROWSER_WINDOW_NORMAL)
-                       warn_user(event->data.error, 0);
+               if (bw->browser_window_type == BROWSER_WINDOW_NORMAL) {
+                       guit->misc->warning(event->data.error, NULL);
+               }
 
                if (c == bw->loading_content)
                        bw->loading_content = NULL;
@@ -2073,7 +2074,7 @@ nserror browser_window_navigate(struct browser_window *bw,
        default: /* report error to user */
                browser_window_set_status(bw, messages_get_errorcode(error));
                /** @todo should the caller report the error? */
-               warn_user(messages_get_errorcode(error), 0);
+               guit->misc->warning(messages_get_errorcode(error), NULL);
                break;
 
        }
@@ -2814,7 +2815,7 @@ struct browser_window *browser_window_find_target(struct 
browser_window *bw,
        if (target[0] != '_') {
                bw_target->name = strdup(target);
                if (!bw_target->name)
-                       warn_user("NoMemory", 0);
+                       guit->misc->warning("NoMemory", NULL);
        }
        return bw_target;
 }
diff --git a/desktop/hotlist.c b/desktop/hotlist.c
index e6e11e4..98d5f9c 100644
--- a/desktop/hotlist.c
+++ b/desktop/hotlist.c
@@ -25,16 +25,19 @@
 #include <dom/dom.h>
 #include <dom/bindings/hubbub/parser.h>
 
-#include "content/urldb.h"
-#include "desktop/hotlist.h"
-#include "desktop/treeview.h"
-#include "desktop/browser.h"
 #include "utils/corestrings.h"
 #include "utils/messages.h"
 #include "utils/utils.h"
 #include "utils/utf8.h"
 #include "utils/libdom.h"
 #include "utils/log.h"
+#include "content/urldb.h"
+
+#include "desktop/gui_misc.h"
+#include "desktop/gui_internal.h"
+#include "desktop/hotlist.h"
+#include "desktop/treeview.h"
+#include "desktop/browser.h"
 
 #define N_DAYS 28
 #define N_SEC_PER_DAY (60 * 60 * 24)
@@ -799,7 +802,7 @@ static nserror hotlist_load(const char *path, bool *loaded)
                        corestring_lwc_html);
        if (html == NULL) {
                dom_node_unref(document);
-               warn_user("TreeLoadError", "(<html> not found)");
+               guit->misc->warning("TreeLoadError", "(<html> not found)");
                return NSERROR_OK;
        }
 
@@ -808,7 +811,7 @@ static nserror hotlist_load(const char *path, bool *loaded)
        if (body == NULL) {
                dom_node_unref(html);
                dom_node_unref(document);
-               warn_user("TreeLoadError", "(<html>...<body> not found)");
+               guit->misc->warning("TreeLoadError", "(<html>...<body> not 
found)");
                return NSERROR_OK;
        }
 
@@ -818,7 +821,7 @@ static nserror hotlist_load(const char *path, bool *loaded)
                dom_node_unref(body);
                dom_node_unref(html);
                dom_node_unref(document);
-               warn_user("TreeLoadError",
+               guit->misc->warning("TreeLoadError",
                                        "(<html>...<body>...<ul> not found.)");
                return NSERROR_OK;
        }
@@ -843,7 +846,7 @@ static nserror hotlist_load(const char *path, bool *loaded)
        dom_node_unref(document);
 
        if (err != NSERROR_OK) {
-               warn_user("TreeLoadError", "(Failed building tree.)");
+               guit->misc->warning("TreeLoadError", "(Failed building tree.)");
                return NSERROR_OK;
        }
 
diff --git a/desktop/save_complete.c b/desktop/save_complete.c
index 635161d..98b0304 100644
--- a/desktop/save_complete.c
+++ b/desktop/save_complete.c
@@ -45,6 +45,8 @@
 #include "render/box.h"
 #include "render/html.h"
 
+#include "desktop/gui_misc.h"
+#include "desktop/gui_internal.h"
 #include "desktop/save_complete.h"
 
 regex_t save_complete_import_re;
@@ -150,7 +152,7 @@ static bool save_complete_save_buffer(save_complete_ctx 
*ctx,
 
        ret = netsurf_mkpath(&fname, NULL, 2, ctx->path, leafname);
        if (ret != NSERROR_OK) {
-               warn_user(messages_get_errorcode(ret), 0);
+               guit->misc->warning(messages_get_errorcode(ret), 0);
                return false;
        }
 
@@ -158,7 +160,7 @@ static bool save_complete_save_buffer(save_complete_ctx 
*ctx,
        if (fp == NULL) {
                free(fname);
                LOG("fopen(): errno = %i", errno);
-               warn_user("SaveError", strerror(errno));
+               guit->misc->warning("SaveError", strerror(errno));
                return false;
        }
 
@@ -316,7 +318,7 @@ static bool save_complete_save_stylesheet(save_complete_ctx 
*ctx,
                return true;
 
        if (save_complete_ctx_add_content(ctx, css) == false) {
-               warn_user("NoMemory", 0);
+               guit->misc->warning("NoMemory", 0);
                return false;
        }
 
@@ -329,7 +331,7 @@ static bool save_complete_save_stylesheet(save_complete_ctx 
*ctx,
        source = save_complete_rewrite_stylesheet_urls(ctx, css_data, css_size,
                        hlcache_handle_get_url(css), &source_len);
        if (source == NULL) {
-               warn_user("NoMemory", 0);
+               guit->misc->warning("NoMemory", 0);
                return false;
        }
 
@@ -412,7 +414,7 @@ static bool 
save_complete_save_html_object(save_complete_ctx *ctx,
                return true;
 
        if (save_complete_ctx_add_content(ctx, obj) == false) {
-               warn_user("NoMemory", 0);
+               guit->misc->warning("NoMemory", 0);
                return false;
        }
 
@@ -1056,7 +1058,7 @@ static bool 
save_complete_save_html_document(save_complete_ctx *ctx,
 
        ret = netsurf_mkpath(&fname, NULL, 2, ctx->path, filename);
        if (ret != NSERROR_OK) {
-               warn_user(messages_get_errorcode(ret), NULL);
+               guit->misc->warning(messages_get_errorcode(ret), NULL);
                return false;
        }
 
@@ -1064,7 +1066,7 @@ static bool 
save_complete_save_html_document(save_complete_ctx *ctx,
        if (fp == NULL) {
                free(fname);
                LOG("fopen(): errno = %i", errno);
-               warn_user("SaveError", strerror(errno));
+               guit->misc->warning("SaveError", strerror(errno));
                return false;
        }
 
@@ -1077,7 +1079,7 @@ static bool 
save_complete_save_html_document(save_complete_ctx *ctx,
        if (save_complete_libdom_treewalk((dom_node *) doc,
                        save_complete_node_handler, ctx) == false) {
                free(fname);
-               warn_user("NoMemory", 0);
+               guit->misc->warning("NoMemory", 0);
                fclose(fp);
                return false;
        }
@@ -1143,7 +1145,7 @@ static bool save_complete_inventory(save_complete_ctx 
*ctx)
        free(fname);
        if (fp == NULL) {
                LOG("fopen(): errno = %i", errno);
-               warn_user("SaveError", strerror(errno));
+               guit->misc->warning("SaveError", strerror(errno));
                return false;
        }
 
diff --git a/desktop/scrollbar.h b/desktop/scrollbar.h
index bfe90d9..d277be2 100644
--- a/desktop/scrollbar.h
+++ b/desktop/scrollbar.h
@@ -73,10 +73,10 @@ typedef void(*scrollbar_client_callback)(void *client_data,
  * \param client_data          data for the client callback
  * \param client_callback      client callback for scrollbar events
  * \param s                    updated to point at the newly created scrollbar
- * \return     true if scrollbar has been created succesfully or false on
- *             memory exhaustion
+ * \return NSERROR_OK and s updated if scrollbar has been created
+ *           succesfully or eror code and s set to NULL on faliure;
  */
-bool scrollbar_create(bool horizontal, int length, int full_size,
+nserror scrollbar_create(bool horizontal, int length, int full_size,
                int visible_size, void *client_data,
                scrollbar_client_callback client_callback,
                struct scrollbar **s);
diff --git a/desktop/tree.c b/desktop/tree.c
index eac9201..c5bca61 100644
--- a/desktop/tree.c
+++ b/desktop/tree.c
@@ -45,6 +45,8 @@ struct tree {
        void *client_data;      /* User assigned data for the callbacks */
 };
 
+#include "desktop/gui_misc.h"
+#include "desktop/gui_internal.h"
 #include "desktop/treeview.h"
 #include "desktop/hotlist.h"
 #include "desktop/cookie_manager.h"
@@ -139,24 +141,24 @@ static bool treeview_test_init(struct tree *tree)
                        "sslcert viewers");
                err = cookie_manager_init(&cw_t, (struct core_window *)tree);
                if (err != NSERROR_OK)
-                       warn_user("Couldn't init new cookie manager.", 0);
+                       guit->misc->warning("Couldn't init new cookie 
manager.", 0);
                break;
        case TREE_HISTORY:
                err = global_history_init(&cw_t, (struct core_window *)tree);
                if (err != NSERROR_OK)
-                       warn_user("Couldn't init new global history.", 0);
+                       guit->misc->warning("Couldn't init new global 
history.", 0);
                break;
        case TREE_HOTLIST:
                err = hotlist_init(&cw_t, (struct core_window *)tree,
                                tree_hotlist_path);
                if (err != NSERROR_OK)
-                       warn_user("Couldn't init new hotlist.", 0);
+                       guit->misc->warning("Couldn't init new hotlist.", 0);
                break;
        case TREE_SSLCERT:
                err = sslcert_viewer_init(&cw_t, (struct core_window *)tree,
                                ssl_current_session);
                if (err != NSERROR_OK)
-                       warn_user("Couldn't init new sslcert viewer.", 0);
+                       guit->misc->warning("Couldn't init new sslcert 
viewer.", 0);
                break;
        }
 
@@ -171,17 +173,17 @@ static bool treeview_test_fini(struct tree *tree)
        case TREE_COOKIES:
                err = cookie_manager_fini();
                if (err != NSERROR_OK)
-                       warn_user("Couldn't finalise cookie manager.", 0);
+                       guit->misc->warning("Couldn't finalise cookie 
manager.", 0);
                break;
        case TREE_HISTORY:
                err = global_history_fini();
                if (err != NSERROR_OK)
-                       warn_user("Couldn't finalise cookie manager.", 0);
+                       guit->misc->warning("Couldn't finalise cookie 
manager.", 0);
                break;
        case TREE_HOTLIST:
                err = hotlist_fini(tree_hotlist_path);
                if (err != NSERROR_OK)
-                       warn_user("Couldn't finalise hotlist.", 0);
+                       guit->misc->warning("Couldn't finalise hotlist.", 0);
                break;
        case TREE_SSLCERT:
                assert(ssl_current_session != NULL &&
@@ -189,7 +191,7 @@ static bool treeview_test_fini(struct tree *tree)
                err = sslcert_viewer_fini(ssl_current_session);
                ssl_current_session = NULL;
                if (err != NSERROR_OK)
-                       warn_user("Couldn't finalise sslcert viewer.", 0);
+                       guit->misc->warning("Couldn't finalise sslcert 
viewer.", 0);
                break;
        }
 
@@ -287,7 +289,7 @@ struct tree *tree_create(unsigned int flags,
        tree = calloc(sizeof(struct tree), 1);
        if (tree == NULL) {
                LOG("calloc failed");
-               warn_user(messages_get_errorcode(NSERROR_NOMEM), 0);
+               guit->misc->warning(messages_get_errorcode(NSERROR_NOMEM), 0);
                return NULL;
        }
 
diff --git a/render/box.c b/render/box.c
index 5a0735e..bb1800b 100644
--- a/render/box.c
+++ b/render/box.c
@@ -28,19 +28,23 @@
 #include <stdio.h>
 #include <string.h>
 #include <dom/dom.h>
+
+#include "utils/nsoption.h"
+#include "utils/log.h"
+#include "utils/talloc.h"
+#include "utils/utils.h"
 #include "content/content_protected.h"
 #include "content/hlcache.h"
 #include "css/css.h"
 #include "css/utils.h"
 #include "css/dump.h"
 #include "desktop/scrollbar.h"
-#include "utils/nsoption.h"
+#include "desktop/gui_misc.h"
+#include "desktop/gui_internal.h"
+
 #include "render/box.h"
 #include "render/form_internal.h"
 #include "render/html_internal.h"
-#include "utils/log.h"
-#include "utils/talloc.h"
-#include "utils/utils.h"
 
 #define box_is_float(box) (box->type == BOX_FLOAT_LEFT || \
                box->type == BOX_FLOAT_RIGHT)
@@ -1146,7 +1150,7 @@ bool box_handle_scrollbars(struct content *c, struct box 
*box,
                        data = malloc(sizeof(struct html_scrollbar_data));
                        if (data == NULL) {
                                LOG("malloc failed");
-                               warn_user("NoMemory", 0);
+                               guit->misc->warning("NoMemory", 0);
                                return false;
                        }
                        data->c = c;
@@ -1167,7 +1171,7 @@ bool box_handle_scrollbars(struct content *c, struct box 
*box,
                        data = malloc(sizeof(struct html_scrollbar_data));
                        if (data == NULL) {
                                LOG("malloc failed");
-                               warn_user("NoMemory", 0);
+                               guit->misc->warning("NoMemory", 0);
                                return false;
                        }
                        data->c = c;
diff --git a/render/form.c b/render/form.c
index f53e9de..dce9064 100644
--- a/render/form.c
+++ b/render/form.c
@@ -51,6 +51,8 @@
 #include "desktop/plotters.h"
 #include "desktop/scrollbar.h"
 #include "desktop/textarea.h"
+#include "desktop/gui_misc.h"
+#include "desktop/gui_internal.h"
 
 #include "render/box.h"
 #include "render/font.h"
@@ -1095,7 +1097,7 @@ bool form_open_select_menu(void *client_data,
 
                menu = calloc(1, sizeof (struct form_select_menu));
                if (menu == NULL) {
-                       warn_user("NoMemory", 0);
+                       guit->misc->warning("NoMemory", 0);
                        return false;
                }
 
@@ -1710,7 +1712,7 @@ void form_submit(nsurl *page_url, struct browser_window 
*target,
        assert(form != NULL);
 
        if (form_successful_controls_dom(form, submit_button, &success) == 
false) {
-               warn_user("NoMemory", 0);
+               guit->misc->warning("NoMemory", 0);
                return;
        }
 
@@ -1718,7 +1720,7 @@ void form_submit(nsurl *page_url, struct browser_window 
*target,
        if (nsurl_create(form->action, &action_url) != NSERROR_OK) {
                free(data);
                fetch_multipart_data_destroy(success);
-               warn_user("NoMemory", 0);
+               guit->misc->warning("NoMemory", 0);
                return;
        }
 
@@ -1727,7 +1729,7 @@ void form_submit(nsurl *page_url, struct browser_window 
*target,
                data = form_url_encode(form, success, true);
                if (data == NULL) {
                        fetch_multipart_data_destroy(success);
-                       warn_user("NoMemory", 0);
+                       guit->misc->warning("NoMemory", 0);
                        return;
                }
 
@@ -1737,7 +1739,7 @@ void form_submit(nsurl *page_url, struct browser_window 
*target,
                        nsurl_unref(action_query);
                        free(data);
                        fetch_multipart_data_destroy(success);
-                       warn_user(messages_get_errorcode(error), 0);
+                       guit->misc->warning(messages_get_errorcode(error), 0);
                        return;
                }
 
@@ -1757,7 +1759,7 @@ void form_submit(nsurl *page_url, struct browser_window 
*target,
                data = form_url_encode(form, success, false);
                if (data == NULL) {
                        fetch_multipart_data_destroy(success);
-                       warn_user("NoMemory", 0);
+                       guit->misc->warning("NoMemory", 0);
                        nsurl_unref(action_url);
                        return;
                }
diff --git a/render/html.c b/render/html.c
index 68eb11c..c809ee1 100644
--- a/render/html.c
+++ b/render/html.c
@@ -51,6 +51,7 @@
 #include "desktop/browser.h"
 #include "desktop/gui_utf8.h"
 #include "desktop/gui_layout.h"
+#include "desktop/gui_misc.h"
 #include "desktop/gui_internal.h"
 
 #include "render/box.h"
@@ -2078,7 +2079,7 @@ static bool html_drop_file_at_point(struct content *c, 
int x, int y, char *file)
                        assert(ret != NSERROR_BAD_ENCODING);
                        LOG("local to utf8 encoding failed");
                        free(buffer);
-                       warn_user("NoMemory", NULL);
+                       guit->misc->warning("NoMemory", NULL);
                        return true;
                }
 
diff --git a/render/search.c b/render/search.c
index b586ff5..f5e231a 100644
--- a/render/search.c
+++ b/render/search.c
@@ -34,6 +34,7 @@
 #include "content/hlcache.h"
 #include "desktop/selection.h"
 #include "desktop/gui_search.h"
+#include "desktop/gui_misc.h"
 #include "desktop/gui_internal.h"
 
 #include "render/box.h"
@@ -85,13 +86,13 @@ struct search_context * search_create_context(struct 
content *c,
 
        context = malloc(sizeof(struct search_context));
        if (context == NULL) {
-               warn_user("NoMemory", 0);
+               guit->misc->warning("NoMemory", 0);
                return NULL;
        }
 
        search_head = malloc(sizeof(struct list_entry));
        if (search_head == NULL) {
-               warn_user("NoMemory", 0);
+               guit->misc->warning("NoMemory", 0);
                free(context);
                return NULL;
        }
@@ -282,7 +283,7 @@ static struct list_entry *add_entry(unsigned start_idx, 
unsigned end_idx,
        /* found string in box => add to list */
        entry = calloc(1, sizeof(*entry));
        if (!entry) {
-               warn_user("NoMemory", 0);
+               guit->misc->warning("NoMemory", 0);
                return NULL;
        }
 
@@ -548,7 +549,7 @@ void search_step(struct search_context *context, 
search_flags_t flags,
        int i = 0;
 
        if (context == NULL) {
-               warn_user("SearchError", 0);
+               guit->misc->warning("SearchError", 0);
                return;
        }
 
diff --git a/test/llcache.c b/test/llcache.c
index 42abb24..850f060 100644
--- a/test/llcache.c
+++ b/test/llcache.c
@@ -37,20 +37,6 @@
 bool verbose_log;
 
 /* utils/utils.h */
-void die(const char * const error)
-{
-       fprintf(stderr, "%s\n", error);
-
-       exit(1);
-}
-
-/* utils/utils.h */
-void warn_user(const char *warning, const char *detail)
-{
-       fprintf(stderr, "%s %s\n", warning, detail);
-}
-
-/* utils/utils.h */
 char *filename_from_path(char *path)
 {
        char *leafname;
diff --git a/test/urldbtest.c b/test/urldbtest.c
index aa3a2df..7a03379 100644
--- a/test/urldbtest.c
+++ b/test/urldbtest.c
@@ -62,17 +62,6 @@ void cookie_manager_remove(const struct cookie_data *data)
 {
 }
 
-void die(const char *error)
-{
-       printf("die: %s\n", error);
-       exit(1);
-}
-
-
-void warn_user(const char *warning, const char *detail)
-{
-       printf("WARNING: %s %s\n", warning, detail);
-}
 
 void bitmap_destroy(void *bitmap)
 {


commitdiff 
http://git.netsurf-browser.org/netsurf.git/commit/?id=69cea38f41b411ca9e55db365cf94339f4be891c
commit 69cea38f41b411ca9e55db365cf94339f4be891c
Author: Vincent Sanders <[email protected]>
Commit: Vincent Sanders <[email protected]>

    update scrollbar_create error handling to return nserror

diff --git a/desktop/frames.c b/desktop/frames.c
index 394deb2..7be75ce 100644
--- a/desktop/frames.c
+++ b/desktop/frames.c
@@ -147,10 +147,11 @@ void browser_window_handle_scrollbars(struct 
browser_window *bw)
 
                if (bw->scroll_y == NULL) {
                        /* create vertical scrollbar */
-                       if (!scrollbar_create(false, length, c_height, visible,
-                                       bw, browser_window_scroll_callback,
-                                       &(bw->scroll_y)))
+                       if (scrollbar_create(false, length, c_height, visible,
+                                            bw, browser_window_scroll_callback,
+                                            &(bw->scroll_y)) != NSERROR_OK) {
                                return;
+                       }
                } else {
                        /* update vertical scrollbar */
                        scrollbar_set_extents(bw->scroll_y, length,
@@ -164,10 +165,11 @@ void browser_window_handle_scrollbars(struct 
browser_window *bw)
 
                if (bw->scroll_x == NULL) {
                        /* create horizontal scrollbar */
-                       if (!scrollbar_create(true, length, c_width, visible,
-                                       bw, browser_window_scroll_callback,
-                                       &(bw->scroll_x)))
+                       if (scrollbar_create(true, length, c_width, visible,
+                                            bw, browser_window_scroll_callback,
+                                            &(bw->scroll_x)) != NSERROR_OK) {
                                return;
+                       }
                } else {
                        /* update horizontal scrollbar */
                        scrollbar_set_extents(bw->scroll_x, length,
diff --git a/desktop/scrollbar.c b/desktop/scrollbar.c
index caed13f..82fcac1 100644
--- a/desktop/scrollbar.c
+++ b/desktop/scrollbar.c
@@ -70,9 +70,9 @@ struct scrollbar {
 
 
 /*
- * Exported function.  Documented in scrollbar.h
+ * Exported function.  Documented in desktop/scrollbar.h
  */
-bool scrollbar_create(bool horizontal, int length, int full_size,
+nserror scrollbar_create(bool horizontal, int length, int full_size,
                int visible_size, void *client_data,
                scrollbar_client_callback client_callback,
                struct scrollbar **s)
@@ -82,10 +82,8 @@ bool scrollbar_create(bool horizontal, int length, int 
full_size,
 
        scrollbar = malloc(sizeof(struct scrollbar));
        if (scrollbar == NULL) {
-               LOG("malloc failed");
-               warn_user("NoMemory", 0);
                *s = NULL;
-               return false;
+               return NSERROR_NOMEM;
        }
 
        scrollbar->horizontal = horizontal;
@@ -109,7 +107,7 @@ bool scrollbar_create(bool horizontal, int length, int 
full_size,
 
        *s = scrollbar;
 
-       return true;
+       return NSERROR_OK;
 }
 
 
diff --git a/desktop/textarea.c b/desktop/textarea.c
index 4a7e008..467965d 100644
--- a/desktop/textarea.c
+++ b/desktop/textarea.c
@@ -1029,10 +1029,11 @@ static bool textarea_reflow_multiline(struct textarea 
*ta,
                        if (x > avail_width && ta->bar_x == NULL) {
                                /* We need to insert a horizontal scrollbar */
                                int w = ta->vis_width - 2 * ta->border_width;
-                               if (!scrollbar_create(true, w, w, w,
+                               if (scrollbar_create(true, w, w, w,
                                                ta, textarea_scrollbar_callback,
-                                               &(ta->bar_x)))
+                                                    &(ta->bar_x)) != 
NSERROR_OK) {
                                        return false;
+                               }
                                if (ta->bar_y != NULL)
                                        scrollbar_make_pair(ta->bar_x,
                                                        ta->bar_y);
@@ -1120,10 +1121,11 @@ static bool textarea_reflow_multiline(struct textarea 
*ta,
                if (line > scroll_lines && ta->bar_y == NULL) {
                        /* Add vertical scrollbar */
                        int h = ta->vis_height - 2 * ta->border_width;
-                       if (!scrollbar_create(false, h, h, h,
-                                       ta, textarea_scrollbar_callback,
-                                       &(ta->bar_y)))
+                       if (scrollbar_create(false, h, h, h,
+                                            ta, textarea_scrollbar_callback,
+                                            &(ta->bar_y)) != NSERROR_OK) {
                                return false;
+                       }
                        if (ta->bar_x != NULL)
                                scrollbar_make_pair(ta->bar_x,
                                                ta->bar_y);
diff --git a/render/box.c b/render/box.c
index 7111f1a..5a0735e 100644
--- a/render/box.c
+++ b/render/box.c
@@ -1151,11 +1151,12 @@ bool box_handle_scrollbars(struct content *c, struct 
box *box,
                        }
                        data->c = c;
                        data->box = box;
-                       if (!scrollbar_create(false, visible_height,
+                       if (scrollbar_create(false, visible_height,
                                        full_height, visible_height,
                                        data, html_overflow_scroll_callback,
-                                       &(box->scroll_y)))
+                                            &(box->scroll_y)) != NSERROR_OK) {
                                return false;
+                       }
                } else  {
                        scrollbar_set_extents(box->scroll_y, visible_height,
                                        visible_height, full_height);
@@ -1171,13 +1172,14 @@ bool box_handle_scrollbars(struct content *c, struct 
box *box,
                        }
                        data->c = c;
                        data->box = box;
-                       if (!scrollbar_create(true,
+                       if (scrollbar_create(true,
                                        visible_width -
                                        (right ? SCROLLBAR_WIDTH : 0),
                                        full_width, visible_width,
                                        data, html_overflow_scroll_callback,
-                                       &box->scroll_x))
+                                            &box->scroll_x) != NSERROR_OK) {
                                return false;
+                       }
                } else {
                        scrollbar_set_extents(box->scroll_x,
                                        visible_width -
diff --git a/render/form.c b/render/form.c
index 1adce23..f53e9de 100644
--- a/render/form.c
+++ b/render/form.c
@@ -1131,13 +1131,13 @@ bool form_open_select_menu(void *client_data,
                }
                menu->client_data = client_data;
                menu->callback = callback;
-               if (!scrollbar_create(false,
+               if (scrollbar_create(false,
                                menu->height,
                                total_height,
                                menu->height,
                                control,
                                form_select_menu_scroll_callback,
-                               &(menu->scrollbar))) {
+                               &(menu->scrollbar)) != NSERROR_OK) {
                        free(menu);
                        return false;
                }


commitdiff 
http://git.netsurf-browser.org/netsurf.git/commit/?id=dd14807c8cdff2f486f5da832490ff958c87ba62
commit dd14807c8cdff2f486f5da832490ff958c87ba62
Author: Vincent Sanders <[email protected]>
Commit: Vincent Sanders <[email protected]>

    improve error returns from pdf save API

diff --git a/desktop/save_pdf.c b/desktop/save_pdf.c
index c54421c..8fd6795 100644
--- a/desktop/save_pdf.c
+++ b/desktop/save_pdf.c
@@ -784,9 +784,9 @@ void pdf_end(void)
 }
 
 /** saves the pdf with optional encryption */
-void save_pdf(const char *path)
+nserror save_pdf(const char *path)
 {
-       bool success = false;
+       nserror res = NSERROR_OK;
 
        if (option_enable_PDF_password && owner_pass != NULL ) {
                HPDF_SetPassword(pdf_doc, owner_pass, user_pass);
@@ -796,17 +796,16 @@ void save_pdf(const char *path)
        }
 
        if (path != NULL) {
-               if (HPDF_SaveToFile(pdf_doc, path) != HPDF_OK)
+               if (HPDF_SaveToFile(pdf_doc, path) != HPDF_OK) {
                        remove(path);
-               else
-                       success = true;
+                       res = NSERROR_SAVE_FAILED;
+               }
        }
 
-       if (!success)
-               warn_user("Unable to save PDF file.", 0);
-
        HPDF_Free(pdf_doc);
        pdf_doc = NULL;
+
+       return res;
 }
 
 
@@ -982,7 +981,8 @@ void pdfw_gs_dash(HPDF_Page page, DashPattern_e dash)
 }
 
 #else
-void save_pdf(const char *path)
+nserror save_pdf(const char *path)
 {
+       return NSERROR_NOT_IMPLEMENTED;
 }
 #endif /* WITH_PDF_EXPORT */
diff --git a/desktop/save_pdf.h b/desktop/save_pdf.h
index d02c356..b90c5a9 100644
--- a/desktop/save_pdf.h
+++ b/desktop/save_pdf.h
@@ -36,6 +36,6 @@ bool pdf_next_page(void);
 /**Close pdf document and save changes to file*/
 void pdf_end(void);
 
-void save_pdf(const char *path);
+nserror save_pdf(const char *path);
 
 #endif /*NETSURF_PDF_PLOTTERS_H*/


commitdiff 
http://git.netsurf-browser.org/netsurf.git/commit/?id=7ec49463dafc20f915ce68c789f36458579783c3
commit 7ec49463dafc20f915ce68c789f36458579783c3
Author: Vincent Sanders <[email protected]>
Commit: Vincent Sanders <[email protected]>

    fix error reporting from frameset creation

diff --git a/desktop/browser.c b/desktop/browser.c
index 2cc13e3..9316b77 100644
--- a/desktop/browser.c
+++ b/desktop/browser.c
@@ -1311,6 +1311,7 @@ static nserror browser_window_callback(hlcache_handle *c,
                const hlcache_event *event, void *pw)
 {
        struct browser_window *bw = pw;
+       nserror res = NSERROR_OK;
 
        switch (event->type) {
        case CONTENT_MSG_DOWNLOAD:
@@ -1414,10 +1415,11 @@ static nserror browser_window_callback(hlcache_handle 
*c,
                }
 
                /* frames */
-               if (content_get_type(c) == CONTENT_HTML &&
-                               html_get_frameset(c) != NULL)
-                       browser_window_create_frameset(bw,
+               if ((content_get_type(c) == CONTENT_HTML) &&
+                   (html_get_frameset(c) != NULL)) {
+                       res = browser_window_create_frameset(bw,
                                        html_get_frameset(c));
+               }
                if (content_get_type(c) == CONTENT_HTML &&
                                html_get_iframe(c) != NULL)
                        browser_window_create_iframes(bw, html_get_iframe(c));
@@ -1704,7 +1706,7 @@ static nserror browser_window_callback(hlcache_handle *c,
                break;
        }
 
-       return NSERROR_OK;
+       return res;
 }
 
 
diff --git a/desktop/frames.c b/desktop/frames.c
index 253e842..394deb2 100644
--- a/desktop/frames.c
+++ b/desktop/frames.c
@@ -291,14 +291,8 @@ void browser_window_recalculate_iframes(struct 
browser_window *bw)
 }
 
 
-/**
- * Create and open a frameset for a browser window.
- *
- * \param bw       The browser window to create the frameset for
- * \param frameset The frameset to create
- */
-
-void browser_window_create_frameset(struct browser_window *bw,
+/* exported interface documented in desktop/frames.h */
+nserror browser_window_create_frameset(struct browser_window *bw,
                struct content_html_frames *frameset)
 {
        int row, col, index;
@@ -313,8 +307,10 @@ void browser_window_create_frameset(struct browser_window 
*bw,
        assert(frameset->cols + frameset->rows != 0);
 
        bw->children = calloc((frameset->cols * frameset->rows), sizeof(*bw));
-       if (!bw->children)
-               return;
+       if (!bw->children) {
+               return NSERROR_NOMEM;
+       }
+
        bw->cols = frameset->cols;
        bw->rows = frameset->rows;
        for (row = 0; row < bw->rows; row++) {
@@ -344,8 +340,11 @@ void browser_window_create_frameset(struct browser_window 
*bw,
                        window->margin_height = frame->margin_height;
                        if (frame->name) {
                                window->name = strdup(frame->name);
-                               if (!window->name)
-                                       warn_user("NoMemory", 0);
+                               if (!window->name) {
+                                       free(bw->children);
+                                       bw->children = NULL;
+                                       return NSERROR_NOMEM;
+                               }
                        }
 
                        window->scale = bw->scale;
@@ -406,6 +405,8 @@ void browser_window_create_frameset(struct browser_window 
*bw,
                        }
                }
        }
+
+       return NSERROR_OK;
 }
 
 
diff --git a/desktop/frames.h b/desktop/frames.h
index 02c513c..b39c8a8 100644
--- a/desktop/frames.h
+++ b/desktop/frames.h
@@ -35,8 +35,17 @@ struct scrollbar_msg_data;
 nserror browser_window_create_iframes(struct browser_window *bw,
                struct content_html_iframe *iframe);
 void browser_window_recalculate_iframes(struct browser_window *bw);
-void browser_window_create_frameset(struct browser_window *bw,
+
+/**
+ * Create and open a frameset for a browser window.
+ *
+ * \param[in,out] bw The browser window to create the frameset for
+ * \param[in] frameset The frameset to create
+ * \return NSERROR_OK or error code on faliure
+ */
+nserror browser_window_create_frameset(struct browser_window *bw,
                struct content_html_frames *frameset);
+
 void browser_window_recalculate_frameset(struct browser_window *bw);
 bool browser_window_frame_resize_start(struct browser_window *bw,
                browser_mouse_state mouse, int x, int y,


-----------------------------------------------------------------------

Summary of changes:
 content/fetchers/curl.c |    3 ++-
 desktop/browser.c       |   21 ++++++++++++---------
 desktop/frames.c        |   39 +++++++++++++++++++++------------------
 desktop/frames.h        |   11 ++++++++++-
 desktop/hotlist.c       |   19 +++++++++++--------
 desktop/save_complete.c |   20 +++++++++++---------
 desktop/save_pdf.c      |   18 +++++++++---------
 desktop/save_pdf.h      |    2 +-
 desktop/scrollbar.c     |   10 ++++------
 desktop/scrollbar.h     |    6 +++---
 desktop/textarea.c      |   12 +++++++-----
 desktop/tree.c          |   20 +++++++++++---------
 render/box.c            |   26 ++++++++++++++++----------
 render/form.c           |   18 ++++++++++--------
 render/html.c           |    3 ++-
 render/search.c         |    9 +++++----
 test/llcache.c          |   14 --------------
 test/urldbtest.c        |   11 -----------
 18 files changed, 135 insertions(+), 127 deletions(-)

diff --git a/content/fetchers/curl.c b/content/fetchers/curl.c
index 7b9c5f0..b94a3f2 100644
--- a/content/fetchers/curl.c
+++ b/content/fetchers/curl.c
@@ -53,6 +53,7 @@
 #include "utils/file.h"
 #include "utils/string.h"
 #include "desktop/gui_fetch.h"
+#include "desktop/gui_misc.h"
 #include "desktop/gui_internal.h"
 
 #include "content/fetch.h"
@@ -1053,7 +1054,7 @@ static void fetch_curl_poll(lwc_string *scheme_ignored)
                codem = curl_multi_perform(fetch_curl_multi, &running);
                if (codem != CURLM_OK && codem != CURLM_CALL_MULTI_PERFORM) {
                        LOG("curl_multi_perform: %i %s", codem, 
curl_multi_strerror(codem));
-                       warn_user("MiscError", curl_multi_strerror(codem));
+                       guit->misc->warning("MiscError", 
curl_multi_strerror(codem));
                        return;
                }
        } while (codem == CURLM_CALL_MULTI_PERFORM);
diff --git a/desktop/browser.c b/desktop/browser.c
index 2cc13e3..4cd017d 100644
--- a/desktop/browser.c
+++ b/desktop/browser.c
@@ -1205,7 +1205,7 @@ browser_window_callback_errorcode(hlcache_handle *c,
 
        /* Only warn the user about errors in top-level windows */
        if (bw->browser_window_type == BROWSER_WINDOW_NORMAL) {
-               warn_user(message, 0);
+               guit->misc->warning(message, NULL);
        }
 
        if (c == bw->loading_content) {
@@ -1311,6 +1311,7 @@ static nserror browser_window_callback(hlcache_handle *c,
                const hlcache_event *event, void *pw)
 {
        struct browser_window *bw = pw;
+       nserror res = NSERROR_OK;
 
        switch (event->type) {
        case CONTENT_MSG_DOWNLOAD:
@@ -1414,10 +1415,11 @@ static nserror browser_window_callback(hlcache_handle 
*c,
                }
 
                /* frames */
-               if (content_get_type(c) == CONTENT_HTML &&
-                               html_get_frameset(c) != NULL)
-                       browser_window_create_frameset(bw,
+               if ((content_get_type(c) == CONTENT_HTML) &&
+                   (html_get_frameset(c) != NULL)) {
+                       res = browser_window_create_frameset(bw,
                                        html_get_frameset(c));
+               }
                if (content_get_type(c) == CONTENT_HTML &&
                                html_get_iframe(c) != NULL)
                        browser_window_create_iframes(bw, html_get_iframe(c));
@@ -1457,8 +1459,9 @@ static nserror browser_window_callback(hlcache_handle *c,
                browser_window_set_status(bw, event->data.error);
 
                /* Only warn the user about errors in top-level windows */
-               if (bw->browser_window_type == BROWSER_WINDOW_NORMAL)
-                       warn_user(event->data.error, 0);
+               if (bw->browser_window_type == BROWSER_WINDOW_NORMAL) {
+                       guit->misc->warning(event->data.error, NULL);
+               }
 
                if (c == bw->loading_content)
                        bw->loading_content = NULL;
@@ -1704,7 +1707,7 @@ static nserror browser_window_callback(hlcache_handle *c,
                break;
        }
 
-       return NSERROR_OK;
+       return res;
 }
 
 
@@ -2071,7 +2074,7 @@ nserror browser_window_navigate(struct browser_window *bw,
        default: /* report error to user */
                browser_window_set_status(bw, messages_get_errorcode(error));
                /** @todo should the caller report the error? */
-               warn_user(messages_get_errorcode(error), 0);
+               guit->misc->warning(messages_get_errorcode(error), NULL);
                break;
 
        }
@@ -2812,7 +2815,7 @@ struct browser_window *browser_window_find_target(struct 
browser_window *bw,
        if (target[0] != '_') {
                bw_target->name = strdup(target);
                if (!bw_target->name)
-                       warn_user("NoMemory", 0);
+                       guit->misc->warning("NoMemory", NULL);
        }
        return bw_target;
 }
diff --git a/desktop/frames.c b/desktop/frames.c
index 253e842..7be75ce 100644
--- a/desktop/frames.c
+++ b/desktop/frames.c
@@ -147,10 +147,11 @@ void browser_window_handle_scrollbars(struct 
browser_window *bw)
 
                if (bw->scroll_y == NULL) {
                        /* create vertical scrollbar */
-                       if (!scrollbar_create(false, length, c_height, visible,
-                                       bw, browser_window_scroll_callback,
-                                       &(bw->scroll_y)))
+                       if (scrollbar_create(false, length, c_height, visible,
+                                            bw, browser_window_scroll_callback,
+                                            &(bw->scroll_y)) != NSERROR_OK) {
                                return;
+                       }
                } else {
                        /* update vertical scrollbar */
                        scrollbar_set_extents(bw->scroll_y, length,
@@ -164,10 +165,11 @@ void browser_window_handle_scrollbars(struct 
browser_window *bw)
 
                if (bw->scroll_x == NULL) {
                        /* create horizontal scrollbar */
-                       if (!scrollbar_create(true, length, c_width, visible,
-                                       bw, browser_window_scroll_callback,
-                                       &(bw->scroll_x)))
+                       if (scrollbar_create(true, length, c_width, visible,
+                                            bw, browser_window_scroll_callback,
+                                            &(bw->scroll_x)) != NSERROR_OK) {
                                return;
+                       }
                } else {
                        /* update horizontal scrollbar */
                        scrollbar_set_extents(bw->scroll_x, length,
@@ -291,14 +293,8 @@ void browser_window_recalculate_iframes(struct 
browser_window *bw)
 }
 
 
-/**
- * Create and open a frameset for a browser window.
- *
- * \param bw       The browser window to create the frameset for
- * \param frameset The frameset to create
- */
-
-void browser_window_create_frameset(struct browser_window *bw,
+/* exported interface documented in desktop/frames.h */
+nserror browser_window_create_frameset(struct browser_window *bw,
                struct content_html_frames *frameset)
 {
        int row, col, index;
@@ -313,8 +309,10 @@ void browser_window_create_frameset(struct browser_window 
*bw,
        assert(frameset->cols + frameset->rows != 0);
 
        bw->children = calloc((frameset->cols * frameset->rows), sizeof(*bw));
-       if (!bw->children)
-               return;
+       if (!bw->children) {
+               return NSERROR_NOMEM;
+       }
+
        bw->cols = frameset->cols;
        bw->rows = frameset->rows;
        for (row = 0; row < bw->rows; row++) {
@@ -344,8 +342,11 @@ void browser_window_create_frameset(struct browser_window 
*bw,
                        window->margin_height = frame->margin_height;
                        if (frame->name) {
                                window->name = strdup(frame->name);
-                               if (!window->name)
-                                       warn_user("NoMemory", 0);
+                               if (!window->name) {
+                                       free(bw->children);
+                                       bw->children = NULL;
+                                       return NSERROR_NOMEM;
+                               }
                        }
 
                        window->scale = bw->scale;
@@ -406,6 +407,8 @@ void browser_window_create_frameset(struct browser_window 
*bw,
                        }
                }
        }
+
+       return NSERROR_OK;
 }
 
 
diff --git a/desktop/frames.h b/desktop/frames.h
index 02c513c..b39c8a8 100644
--- a/desktop/frames.h
+++ b/desktop/frames.h
@@ -35,8 +35,17 @@ struct scrollbar_msg_data;
 nserror browser_window_create_iframes(struct browser_window *bw,
                struct content_html_iframe *iframe);
 void browser_window_recalculate_iframes(struct browser_window *bw);
-void browser_window_create_frameset(struct browser_window *bw,
+
+/**
+ * Create and open a frameset for a browser window.
+ *
+ * \param[in,out] bw The browser window to create the frameset for
+ * \param[in] frameset The frameset to create
+ * \return NSERROR_OK or error code on faliure
+ */
+nserror browser_window_create_frameset(struct browser_window *bw,
                struct content_html_frames *frameset);
+
 void browser_window_recalculate_frameset(struct browser_window *bw);
 bool browser_window_frame_resize_start(struct browser_window *bw,
                browser_mouse_state mouse, int x, int y,
diff --git a/desktop/hotlist.c b/desktop/hotlist.c
index e6e11e4..98d5f9c 100644
--- a/desktop/hotlist.c
+++ b/desktop/hotlist.c
@@ -25,16 +25,19 @@
 #include <dom/dom.h>
 #include <dom/bindings/hubbub/parser.h>
 
-#include "content/urldb.h"
-#include "desktop/hotlist.h"
-#include "desktop/treeview.h"
-#include "desktop/browser.h"
 #include "utils/corestrings.h"
 #include "utils/messages.h"
 #include "utils/utils.h"
 #include "utils/utf8.h"
 #include "utils/libdom.h"
 #include "utils/log.h"
+#include "content/urldb.h"
+
+#include "desktop/gui_misc.h"
+#include "desktop/gui_internal.h"
+#include "desktop/hotlist.h"
+#include "desktop/treeview.h"
+#include "desktop/browser.h"
 
 #define N_DAYS 28
 #define N_SEC_PER_DAY (60 * 60 * 24)
@@ -799,7 +802,7 @@ static nserror hotlist_load(const char *path, bool *loaded)
                        corestring_lwc_html);
        if (html == NULL) {
                dom_node_unref(document);
-               warn_user("TreeLoadError", "(<html> not found)");
+               guit->misc->warning("TreeLoadError", "(<html> not found)");
                return NSERROR_OK;
        }
 
@@ -808,7 +811,7 @@ static nserror hotlist_load(const char *path, bool *loaded)
        if (body == NULL) {
                dom_node_unref(html);
                dom_node_unref(document);
-               warn_user("TreeLoadError", "(<html>...<body> not found)");
+               guit->misc->warning("TreeLoadError", "(<html>...<body> not 
found)");
                return NSERROR_OK;
        }
 
@@ -818,7 +821,7 @@ static nserror hotlist_load(const char *path, bool *loaded)
                dom_node_unref(body);
                dom_node_unref(html);
                dom_node_unref(document);
-               warn_user("TreeLoadError",
+               guit->misc->warning("TreeLoadError",
                                        "(<html>...<body>...<ul> not found.)");
                return NSERROR_OK;
        }
@@ -843,7 +846,7 @@ static nserror hotlist_load(const char *path, bool *loaded)
        dom_node_unref(document);
 
        if (err != NSERROR_OK) {
-               warn_user("TreeLoadError", "(Failed building tree.)");
+               guit->misc->warning("TreeLoadError", "(Failed building tree.)");
                return NSERROR_OK;
        }
 
diff --git a/desktop/save_complete.c b/desktop/save_complete.c
index 635161d..98b0304 100644
--- a/desktop/save_complete.c
+++ b/desktop/save_complete.c
@@ -45,6 +45,8 @@
 #include "render/box.h"
 #include "render/html.h"
 
+#include "desktop/gui_misc.h"
+#include "desktop/gui_internal.h"
 #include "desktop/save_complete.h"
 
 regex_t save_complete_import_re;
@@ -150,7 +152,7 @@ static bool save_complete_save_buffer(save_complete_ctx 
*ctx,
 
        ret = netsurf_mkpath(&fname, NULL, 2, ctx->path, leafname);
        if (ret != NSERROR_OK) {
-               warn_user(messages_get_errorcode(ret), 0);
+               guit->misc->warning(messages_get_errorcode(ret), 0);
                return false;
        }
 
@@ -158,7 +160,7 @@ static bool save_complete_save_buffer(save_complete_ctx 
*ctx,
        if (fp == NULL) {
                free(fname);
                LOG("fopen(): errno = %i", errno);
-               warn_user("SaveError", strerror(errno));
+               guit->misc->warning("SaveError", strerror(errno));
                return false;
        }
 
@@ -316,7 +318,7 @@ static bool save_complete_save_stylesheet(save_complete_ctx 
*ctx,
                return true;
 
        if (save_complete_ctx_add_content(ctx, css) == false) {
-               warn_user("NoMemory", 0);
+               guit->misc->warning("NoMemory", 0);
                return false;
        }
 
@@ -329,7 +331,7 @@ static bool save_complete_save_stylesheet(save_complete_ctx 
*ctx,
        source = save_complete_rewrite_stylesheet_urls(ctx, css_data, css_size,
                        hlcache_handle_get_url(css), &source_len);
        if (source == NULL) {
-               warn_user("NoMemory", 0);
+               guit->misc->warning("NoMemory", 0);
                return false;
        }
 
@@ -412,7 +414,7 @@ static bool 
save_complete_save_html_object(save_complete_ctx *ctx,
                return true;
 
        if (save_complete_ctx_add_content(ctx, obj) == false) {
-               warn_user("NoMemory", 0);
+               guit->misc->warning("NoMemory", 0);
                return false;
        }
 
@@ -1056,7 +1058,7 @@ static bool 
save_complete_save_html_document(save_complete_ctx *ctx,
 
        ret = netsurf_mkpath(&fname, NULL, 2, ctx->path, filename);
        if (ret != NSERROR_OK) {
-               warn_user(messages_get_errorcode(ret), NULL);
+               guit->misc->warning(messages_get_errorcode(ret), NULL);
                return false;
        }
 
@@ -1064,7 +1066,7 @@ static bool 
save_complete_save_html_document(save_complete_ctx *ctx,
        if (fp == NULL) {
                free(fname);
                LOG("fopen(): errno = %i", errno);
-               warn_user("SaveError", strerror(errno));
+               guit->misc->warning("SaveError", strerror(errno));
                return false;
        }
 
@@ -1077,7 +1079,7 @@ static bool 
save_complete_save_html_document(save_complete_ctx *ctx,
        if (save_complete_libdom_treewalk((dom_node *) doc,
                        save_complete_node_handler, ctx) == false) {
                free(fname);
-               warn_user("NoMemory", 0);
+               guit->misc->warning("NoMemory", 0);
                fclose(fp);
                return false;
        }
@@ -1143,7 +1145,7 @@ static bool save_complete_inventory(save_complete_ctx 
*ctx)
        free(fname);
        if (fp == NULL) {
                LOG("fopen(): errno = %i", errno);
-               warn_user("SaveError", strerror(errno));
+               guit->misc->warning("SaveError", strerror(errno));
                return false;
        }
 
diff --git a/desktop/save_pdf.c b/desktop/save_pdf.c
index c54421c..8fd6795 100644
--- a/desktop/save_pdf.c
+++ b/desktop/save_pdf.c
@@ -784,9 +784,9 @@ void pdf_end(void)
 }
 
 /** saves the pdf with optional encryption */
-void save_pdf(const char *path)
+nserror save_pdf(const char *path)
 {
-       bool success = false;
+       nserror res = NSERROR_OK;
 
        if (option_enable_PDF_password && owner_pass != NULL ) {
                HPDF_SetPassword(pdf_doc, owner_pass, user_pass);
@@ -796,17 +796,16 @@ void save_pdf(const char *path)
        }
 
        if (path != NULL) {
-               if (HPDF_SaveToFile(pdf_doc, path) != HPDF_OK)
+               if (HPDF_SaveToFile(pdf_doc, path) != HPDF_OK) {
                        remove(path);
-               else
-                       success = true;
+                       res = NSERROR_SAVE_FAILED;
+               }
        }
 
-       if (!success)
-               warn_user("Unable to save PDF file.", 0);
-
        HPDF_Free(pdf_doc);
        pdf_doc = NULL;
+
+       return res;
 }
 
 
@@ -982,7 +981,8 @@ void pdfw_gs_dash(HPDF_Page page, DashPattern_e dash)
 }
 
 #else
-void save_pdf(const char *path)
+nserror save_pdf(const char *path)
 {
+       return NSERROR_NOT_IMPLEMENTED;
 }
 #endif /* WITH_PDF_EXPORT */
diff --git a/desktop/save_pdf.h b/desktop/save_pdf.h
index d02c356..b90c5a9 100644
--- a/desktop/save_pdf.h
+++ b/desktop/save_pdf.h
@@ -36,6 +36,6 @@ bool pdf_next_page(void);
 /**Close pdf document and save changes to file*/
 void pdf_end(void);
 
-void save_pdf(const char *path);
+nserror save_pdf(const char *path);
 
 #endif /*NETSURF_PDF_PLOTTERS_H*/
diff --git a/desktop/scrollbar.c b/desktop/scrollbar.c
index caed13f..82fcac1 100644
--- a/desktop/scrollbar.c
+++ b/desktop/scrollbar.c
@@ -70,9 +70,9 @@ struct scrollbar {
 
 
 /*
- * Exported function.  Documented in scrollbar.h
+ * Exported function.  Documented in desktop/scrollbar.h
  */
-bool scrollbar_create(bool horizontal, int length, int full_size,
+nserror scrollbar_create(bool horizontal, int length, int full_size,
                int visible_size, void *client_data,
                scrollbar_client_callback client_callback,
                struct scrollbar **s)
@@ -82,10 +82,8 @@ bool scrollbar_create(bool horizontal, int length, int 
full_size,
 
        scrollbar = malloc(sizeof(struct scrollbar));
        if (scrollbar == NULL) {
-               LOG("malloc failed");
-               warn_user("NoMemory", 0);
                *s = NULL;
-               return false;
+               return NSERROR_NOMEM;
        }
 
        scrollbar->horizontal = horizontal;
@@ -109,7 +107,7 @@ bool scrollbar_create(bool horizontal, int length, int 
full_size,
 
        *s = scrollbar;
 
-       return true;
+       return NSERROR_OK;
 }
 
 
diff --git a/desktop/scrollbar.h b/desktop/scrollbar.h
index bfe90d9..d277be2 100644
--- a/desktop/scrollbar.h
+++ b/desktop/scrollbar.h
@@ -73,10 +73,10 @@ typedef void(*scrollbar_client_callback)(void *client_data,
  * \param client_data          data for the client callback
  * \param client_callback      client callback for scrollbar events
  * \param s                    updated to point at the newly created scrollbar
- * \return     true if scrollbar has been created succesfully or false on
- *             memory exhaustion
+ * \return NSERROR_OK and s updated if scrollbar has been created
+ *           succesfully or eror code and s set to NULL on faliure;
  */
-bool scrollbar_create(bool horizontal, int length, int full_size,
+nserror scrollbar_create(bool horizontal, int length, int full_size,
                int visible_size, void *client_data,
                scrollbar_client_callback client_callback,
                struct scrollbar **s);
diff --git a/desktop/textarea.c b/desktop/textarea.c
index 4a7e008..467965d 100644
--- a/desktop/textarea.c
+++ b/desktop/textarea.c
@@ -1029,10 +1029,11 @@ static bool textarea_reflow_multiline(struct textarea 
*ta,
                        if (x > avail_width && ta->bar_x == NULL) {
                                /* We need to insert a horizontal scrollbar */
                                int w = ta->vis_width - 2 * ta->border_width;
-                               if (!scrollbar_create(true, w, w, w,
+                               if (scrollbar_create(true, w, w, w,
                                                ta, textarea_scrollbar_callback,
-                                               &(ta->bar_x)))
+                                                    &(ta->bar_x)) != 
NSERROR_OK) {
                                        return false;
+                               }
                                if (ta->bar_y != NULL)
                                        scrollbar_make_pair(ta->bar_x,
                                                        ta->bar_y);
@@ -1120,10 +1121,11 @@ static bool textarea_reflow_multiline(struct textarea 
*ta,
                if (line > scroll_lines && ta->bar_y == NULL) {
                        /* Add vertical scrollbar */
                        int h = ta->vis_height - 2 * ta->border_width;
-                       if (!scrollbar_create(false, h, h, h,
-                                       ta, textarea_scrollbar_callback,
-                                       &(ta->bar_y)))
+                       if (scrollbar_create(false, h, h, h,
+                                            ta, textarea_scrollbar_callback,
+                                            &(ta->bar_y)) != NSERROR_OK) {
                                return false;
+                       }
                        if (ta->bar_x != NULL)
                                scrollbar_make_pair(ta->bar_x,
                                                ta->bar_y);
diff --git a/desktop/tree.c b/desktop/tree.c
index eac9201..c5bca61 100644
--- a/desktop/tree.c
+++ b/desktop/tree.c
@@ -45,6 +45,8 @@ struct tree {
        void *client_data;      /* User assigned data for the callbacks */
 };
 
+#include "desktop/gui_misc.h"
+#include "desktop/gui_internal.h"
 #include "desktop/treeview.h"
 #include "desktop/hotlist.h"
 #include "desktop/cookie_manager.h"
@@ -139,24 +141,24 @@ static bool treeview_test_init(struct tree *tree)
                        "sslcert viewers");
                err = cookie_manager_init(&cw_t, (struct core_window *)tree);
                if (err != NSERROR_OK)
-                       warn_user("Couldn't init new cookie manager.", 0);
+                       guit->misc->warning("Couldn't init new cookie 
manager.", 0);
                break;
        case TREE_HISTORY:
                err = global_history_init(&cw_t, (struct core_window *)tree);
                if (err != NSERROR_OK)
-                       warn_user("Couldn't init new global history.", 0);
+                       guit->misc->warning("Couldn't init new global 
history.", 0);
                break;
        case TREE_HOTLIST:
                err = hotlist_init(&cw_t, (struct core_window *)tree,
                                tree_hotlist_path);
                if (err != NSERROR_OK)
-                       warn_user("Couldn't init new hotlist.", 0);
+                       guit->misc->warning("Couldn't init new hotlist.", 0);
                break;
        case TREE_SSLCERT:
                err = sslcert_viewer_init(&cw_t, (struct core_window *)tree,
                                ssl_current_session);
                if (err != NSERROR_OK)
-                       warn_user("Couldn't init new sslcert viewer.", 0);
+                       guit->misc->warning("Couldn't init new sslcert 
viewer.", 0);
                break;
        }
 
@@ -171,17 +173,17 @@ static bool treeview_test_fini(struct tree *tree)
        case TREE_COOKIES:
                err = cookie_manager_fini();
                if (err != NSERROR_OK)
-                       warn_user("Couldn't finalise cookie manager.", 0);
+                       guit->misc->warning("Couldn't finalise cookie 
manager.", 0);
                break;
        case TREE_HISTORY:
                err = global_history_fini();
                if (err != NSERROR_OK)
-                       warn_user("Couldn't finalise cookie manager.", 0);
+                       guit->misc->warning("Couldn't finalise cookie 
manager.", 0);
                break;
        case TREE_HOTLIST:
                err = hotlist_fini(tree_hotlist_path);
                if (err != NSERROR_OK)
-                       warn_user("Couldn't finalise hotlist.", 0);
+                       guit->misc->warning("Couldn't finalise hotlist.", 0);
                break;
        case TREE_SSLCERT:
                assert(ssl_current_session != NULL &&
@@ -189,7 +191,7 @@ static bool treeview_test_fini(struct tree *tree)
                err = sslcert_viewer_fini(ssl_current_session);
                ssl_current_session = NULL;
                if (err != NSERROR_OK)
-                       warn_user("Couldn't finalise sslcert viewer.", 0);
+                       guit->misc->warning("Couldn't finalise sslcert 
viewer.", 0);
                break;
        }
 
@@ -287,7 +289,7 @@ struct tree *tree_create(unsigned int flags,
        tree = calloc(sizeof(struct tree), 1);
        if (tree == NULL) {
                LOG("calloc failed");
-               warn_user(messages_get_errorcode(NSERROR_NOMEM), 0);
+               guit->misc->warning(messages_get_errorcode(NSERROR_NOMEM), 0);
                return NULL;
        }
 
diff --git a/render/box.c b/render/box.c
index 7111f1a..bb1800b 100644
--- a/render/box.c
+++ b/render/box.c
@@ -28,19 +28,23 @@
 #include <stdio.h>
 #include <string.h>
 #include <dom/dom.h>
+
+#include "utils/nsoption.h"
+#include "utils/log.h"
+#include "utils/talloc.h"
+#include "utils/utils.h"
 #include "content/content_protected.h"
 #include "content/hlcache.h"
 #include "css/css.h"
 #include "css/utils.h"
 #include "css/dump.h"
 #include "desktop/scrollbar.h"
-#include "utils/nsoption.h"
+#include "desktop/gui_misc.h"
+#include "desktop/gui_internal.h"
+
 #include "render/box.h"
 #include "render/form_internal.h"
 #include "render/html_internal.h"
-#include "utils/log.h"
-#include "utils/talloc.h"
-#include "utils/utils.h"
 
 #define box_is_float(box) (box->type == BOX_FLOAT_LEFT || \
                box->type == BOX_FLOAT_RIGHT)
@@ -1146,16 +1150,17 @@ bool box_handle_scrollbars(struct content *c, struct 
box *box,
                        data = malloc(sizeof(struct html_scrollbar_data));
                        if (data == NULL) {
                                LOG("malloc failed");
-                               warn_user("NoMemory", 0);
+                               guit->misc->warning("NoMemory", 0);
                                return false;
                        }
                        data->c = c;
                        data->box = box;
-                       if (!scrollbar_create(false, visible_height,
+                       if (scrollbar_create(false, visible_height,
                                        full_height, visible_height,
                                        data, html_overflow_scroll_callback,
-                                       &(box->scroll_y)))
+                                            &(box->scroll_y)) != NSERROR_OK) {
                                return false;
+                       }
                } else  {
                        scrollbar_set_extents(box->scroll_y, visible_height,
                                        visible_height, full_height);
@@ -1166,18 +1171,19 @@ bool box_handle_scrollbars(struct content *c, struct 
box *box,
                        data = malloc(sizeof(struct html_scrollbar_data));
                        if (data == NULL) {
                                LOG("malloc failed");
-                               warn_user("NoMemory", 0);
+                               guit->misc->warning("NoMemory", 0);
                                return false;
                        }
                        data->c = c;
                        data->box = box;
-                       if (!scrollbar_create(true,
+                       if (scrollbar_create(true,
                                        visible_width -
                                        (right ? SCROLLBAR_WIDTH : 0),
                                        full_width, visible_width,
                                        data, html_overflow_scroll_callback,
-                                       &box->scroll_x))
+                                            &box->scroll_x) != NSERROR_OK) {
                                return false;
+                       }
                } else {
                        scrollbar_set_extents(box->scroll_x,
                                        visible_width -
diff --git a/render/form.c b/render/form.c
index 1adce23..dce9064 100644
--- a/render/form.c
+++ b/render/form.c
@@ -51,6 +51,8 @@
 #include "desktop/plotters.h"
 #include "desktop/scrollbar.h"
 #include "desktop/textarea.h"
+#include "desktop/gui_misc.h"
+#include "desktop/gui_internal.h"
 
 #include "render/box.h"
 #include "render/font.h"
@@ -1095,7 +1097,7 @@ bool form_open_select_menu(void *client_data,
 
                menu = calloc(1, sizeof (struct form_select_menu));
                if (menu == NULL) {
-                       warn_user("NoMemory", 0);
+                       guit->misc->warning("NoMemory", 0);
                        return false;
                }
 
@@ -1131,13 +1133,13 @@ bool form_open_select_menu(void *client_data,
                }
                menu->client_data = client_data;
                menu->callback = callback;
-               if (!scrollbar_create(false,
+               if (scrollbar_create(false,
                                menu->height,
                                total_height,
                                menu->height,
                                control,
                                form_select_menu_scroll_callback,
-                               &(menu->scrollbar))) {
+                               &(menu->scrollbar)) != NSERROR_OK) {
                        free(menu);
                        return false;
                }
@@ -1710,7 +1712,7 @@ void form_submit(nsurl *page_url, struct browser_window 
*target,
        assert(form != NULL);
 
        if (form_successful_controls_dom(form, submit_button, &success) == 
false) {
-               warn_user("NoMemory", 0);
+               guit->misc->warning("NoMemory", 0);
                return;
        }
 
@@ -1718,7 +1720,7 @@ void form_submit(nsurl *page_url, struct browser_window 
*target,
        if (nsurl_create(form->action, &action_url) != NSERROR_OK) {
                free(data);
                fetch_multipart_data_destroy(success);
-               warn_user("NoMemory", 0);
+               guit->misc->warning("NoMemory", 0);
                return;
        }
 
@@ -1727,7 +1729,7 @@ void form_submit(nsurl *page_url, struct browser_window 
*target,
                data = form_url_encode(form, success, true);
                if (data == NULL) {
                        fetch_multipart_data_destroy(success);
-                       warn_user("NoMemory", 0);
+                       guit->misc->warning("NoMemory", 0);
                        return;
                }
 
@@ -1737,7 +1739,7 @@ void form_submit(nsurl *page_url, struct browser_window 
*target,
                        nsurl_unref(action_query);
                        free(data);
                        fetch_multipart_data_destroy(success);
-                       warn_user(messages_get_errorcode(error), 0);
+                       guit->misc->warning(messages_get_errorcode(error), 0);
                        return;
                }
 
@@ -1757,7 +1759,7 @@ void form_submit(nsurl *page_url, struct browser_window 
*target,
                data = form_url_encode(form, success, false);
                if (data == NULL) {
                        fetch_multipart_data_destroy(success);
-                       warn_user("NoMemory", 0);
+                       guit->misc->warning("NoMemory", 0);
                        nsurl_unref(action_url);
                        return;
                }
diff --git a/render/html.c b/render/html.c
index 68eb11c..c809ee1 100644
--- a/render/html.c
+++ b/render/html.c
@@ -51,6 +51,7 @@
 #include "desktop/browser.h"
 #include "desktop/gui_utf8.h"
 #include "desktop/gui_layout.h"
+#include "desktop/gui_misc.h"
 #include "desktop/gui_internal.h"
 
 #include "render/box.h"
@@ -2078,7 +2079,7 @@ static bool html_drop_file_at_point(struct content *c, 
int x, int y, char *file)
                        assert(ret != NSERROR_BAD_ENCODING);
                        LOG("local to utf8 encoding failed");
                        free(buffer);
-                       warn_user("NoMemory", NULL);
+                       guit->misc->warning("NoMemory", NULL);
                        return true;
                }
 
diff --git a/render/search.c b/render/search.c
index b586ff5..f5e231a 100644
--- a/render/search.c
+++ b/render/search.c
@@ -34,6 +34,7 @@
 #include "content/hlcache.h"
 #include "desktop/selection.h"
 #include "desktop/gui_search.h"
+#include "desktop/gui_misc.h"
 #include "desktop/gui_internal.h"
 
 #include "render/box.h"
@@ -85,13 +86,13 @@ struct search_context * search_create_context(struct 
content *c,
 
        context = malloc(sizeof(struct search_context));
        if (context == NULL) {
-               warn_user("NoMemory", 0);
+               guit->misc->warning("NoMemory", 0);
                return NULL;
        }
 
        search_head = malloc(sizeof(struct list_entry));
        if (search_head == NULL) {
-               warn_user("NoMemory", 0);
+               guit->misc->warning("NoMemory", 0);
                free(context);
                return NULL;
        }
@@ -282,7 +283,7 @@ static struct list_entry *add_entry(unsigned start_idx, 
unsigned end_idx,
        /* found string in box => add to list */
        entry = calloc(1, sizeof(*entry));
        if (!entry) {
-               warn_user("NoMemory", 0);
+               guit->misc->warning("NoMemory", 0);
                return NULL;
        }
 
@@ -548,7 +549,7 @@ void search_step(struct search_context *context, 
search_flags_t flags,
        int i = 0;
 
        if (context == NULL) {
-               warn_user("SearchError", 0);
+               guit->misc->warning("SearchError", 0);
                return;
        }
 
diff --git a/test/llcache.c b/test/llcache.c
index 42abb24..850f060 100644
--- a/test/llcache.c
+++ b/test/llcache.c
@@ -37,20 +37,6 @@
 bool verbose_log;
 
 /* utils/utils.h */
-void die(const char * const error)
-{
-       fprintf(stderr, "%s\n", error);
-
-       exit(1);
-}
-
-/* utils/utils.h */
-void warn_user(const char *warning, const char *detail)
-{
-       fprintf(stderr, "%s %s\n", warning, detail);
-}
-
-/* utils/utils.h */
 char *filename_from_path(char *path)
 {
        char *leafname;
diff --git a/test/urldbtest.c b/test/urldbtest.c
index aa3a2df..7a03379 100644
--- a/test/urldbtest.c
+++ b/test/urldbtest.c
@@ -62,17 +62,6 @@ void cookie_manager_remove(const struct cookie_data *data)
 {
 }
 
-void die(const char *error)
-{
-       printf("die: %s\n", error);
-       exit(1);
-}
-
-
-void warn_user(const char *warning, const char *detail)
-{
-       printf("WARNING: %s %s\n", warning, detail);
-}
 
 void bitmap_destroy(void *bitmap)
 {


-- 
NetSurf Browser

_______________________________________________
netsurf-commits mailing list
[email protected]
http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/netsurf-commits-netsurf-browser.org

Reply via email to