mirror of
https://github.com/netsurf-browser/netsurf
synced 2024-12-24 04:56:50 +03:00
[project @ 2006-01-01 18:52:30 by jmb]
Dump user options to stderr on abort. Dump box tree on failed assertion. Display Red/Yellow hourglass whilst dumping box tree (as this can take some time) svn path=/import/netsurf/; revision=1928
This commit is contained in:
parent
e9601cb35a
commit
cf657a2ffb
@ -221,6 +221,36 @@ void options_write(const char *path)
|
||||
fclose(fp);
|
||||
}
|
||||
|
||||
/**
|
||||
* Dump user options to stderr
|
||||
*/
|
||||
void options_dump(void)
|
||||
{
|
||||
unsigned int i;
|
||||
|
||||
for (i = 0; i != option_table_entries; i++) {
|
||||
fprintf(stderr, "%s:", option_table[i].key);
|
||||
switch (option_table[i].type) {
|
||||
case OPTION_BOOL:
|
||||
fprintf(stderr, "%c",
|
||||
*((bool *) option_table[i].p) ?
|
||||
'1' : '0');
|
||||
break;
|
||||
|
||||
case OPTION_INTEGER:
|
||||
fprintf(stderr, "%i",
|
||||
*((int *) option_table[i].p));
|
||||
break;
|
||||
|
||||
case OPTION_STRING:
|
||||
if (*((char **) option_table[i].p))
|
||||
fprintf(stderr, "%s",
|
||||
*((char **) option_table[i].p));
|
||||
break;
|
||||
}
|
||||
fprintf(stderr, "\n");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads a hotlist as a tree from a specified file.
|
||||
@ -238,7 +268,7 @@ struct tree *options_load_tree(const char *filename) {
|
||||
warn_user("HotlistLoadError", messages_get("ParsingFail"));
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
html = options_find_tree_element((xmlNode *) doc, "html");
|
||||
body = options_find_tree_element(html, "body");
|
||||
ul = options_find_tree_element(body, "ul");
|
||||
@ -277,7 +307,7 @@ void options_load_tree_directory(xmlNode *ul, struct node *directory) {
|
||||
char *title;
|
||||
struct node *dir;
|
||||
xmlNode *n;
|
||||
|
||||
|
||||
assert(ul);
|
||||
assert(directory);
|
||||
|
||||
@ -350,7 +380,7 @@ void options_load_tree_entry(xmlNode *li, struct node *directory) {
|
||||
"memory exhausted.)");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
data = url_store_find(url);
|
||||
if (!data)
|
||||
return;
|
||||
|
@ -48,6 +48,7 @@ extern int option_expire_url;
|
||||
|
||||
void options_read(const char *path);
|
||||
void options_write(const char *path);
|
||||
void options_dump(void);
|
||||
|
||||
struct tree *options_load_tree(const char *filename);
|
||||
bool options_save_tree(struct tree *tree, const char *filename,
|
||||
|
14
riscos/gui.c
14
riscos/gui.c
@ -621,12 +621,20 @@ void gui_quit(void)
|
||||
void ro_gui_signal(int sig)
|
||||
{
|
||||
struct content *c;
|
||||
if (sig == SIGFPE) {
|
||||
if (sig == SIGFPE || sig == SIGABRT) {
|
||||
os_colour old_sand, old_glass;
|
||||
|
||||
xhourglass_on();
|
||||
xhourglass_colours(0x0000ffff, 0x000000ff,
|
||||
&old_sand, &old_glass);
|
||||
for (c = content_list; c; c = c->next)
|
||||
if (c->type == CONTENT_HTML && c->data.html.layout) {
|
||||
LOG(("Dumping: '%s'", c->url));
|
||||
box_dump(c->data.html.layout, 0);
|
||||
}
|
||||
options_dump();
|
||||
xhourglass_colours(old_sand, old_glass, 0, 0);
|
||||
xhourglass_off();
|
||||
}
|
||||
ro_gui_cleanup();
|
||||
raise(sig);
|
||||
@ -838,7 +846,7 @@ void ro_gui_redraw_window_request(wimp_draw *redraw)
|
||||
|
||||
if (ro_gui_wimp_event_redraw_window(redraw))
|
||||
return;
|
||||
|
||||
|
||||
g = ro_gui_window_lookup(redraw->w);
|
||||
if (g)
|
||||
ro_gui_window_redraw(g, redraw);
|
||||
@ -1055,7 +1063,7 @@ void ro_gui_keypress(wimp_key *key)
|
||||
bool handled = false;
|
||||
struct gui_window *g;
|
||||
os_error *error;
|
||||
|
||||
|
||||
if (ro_gui_wimp_event_keypress(key))
|
||||
handled = true;
|
||||
else if ((g = ro_gui_window_lookup(key->w)) != NULL)
|
||||
|
Loading…
Reference in New Issue
Block a user