diff options
-rw-r--r-- | gtk/scaffolding.c | 6 | ||||
-rw-r--r-- | gtk/tabs.c | 13 | ||||
-rw-r--r-- | image/ico.c | 16 |
3 files changed, 21 insertions, 14 deletions
diff --git a/gtk/scaffolding.c b/gtk/scaffolding.c index e8f28a17e..255b61f0d 100644 --- a/gtk/scaffolding.c +++ b/gtk/scaffolding.c @@ -1998,7 +1998,7 @@ void gui_window_set_icon(struct gui_window *_g, hlcache_handle *icon) { struct gtk_scaffolding *g = nsgtk_get_scaffold(_g); struct bitmap *icon_bitmap = NULL; - GdkPixbuf *icon_pixbuf; + GdkPixbuf *icon_pixbuf = NULL; if (g->top_level != _g) { return; @@ -2007,11 +2007,13 @@ void gui_window_set_icon(struct gui_window *_g, hlcache_handle *icon) if (icon != NULL) { icon_bitmap = content_get_bitmap(icon); if (icon_bitmap != NULL) { + LOG(("Using %p bitmap", icon_bitmap)); icon_pixbuf = nsgdk_pixbuf_get_from_surface(icon_bitmap->surface, 16, 16); - } + } } if (icon_pixbuf == NULL) { + LOG(("Using default favicon")); g_object_ref(favicon_pixbuf); icon_pixbuf = favicon_pixbuf; } diff --git a/gtk/tabs.c b/gtk/tabs.c index 89b97a282..dff1cb829 100644 --- a/gtk/tabs.c +++ b/gtk/tabs.c @@ -197,20 +197,11 @@ void nsgtk_tab_add(struct gui_window *window, gtk_widget_show_all(tab_contents); gtk_notebook_set_current_page(GTK_NOTEBOOK(tabs), gtk_notebook_get_n_pages(GTK_NOTEBOOK(tabs)) - 1); - if (option_new_blank) { - /*char *blankpage = malloc(strlen(res_dir_location) + - SLEN("file:///blankpage") + 1); - blankpage = g_strconcat("file:///", res_dir_location, - "blankpage", NULL); */ - /* segfaults - struct browser_window *bw = - nsgtk_get_browser_window(window); - browser_window_go(bw, blankpage, 0, true); */ - /* free(blankpage); */ - } + if (background) { gtk_notebook_set_current_page(GTK_NOTEBOOK(tabs), remember); } + gtk_widget_grab_focus(GTK_WIDGET(nsgtk_scaffolding_urlbar( nsgtk_get_scaffold(window)))); } diff --git a/image/ico.c b/image/ico.c index ed0804ba9..65a85c2d4 100644 --- a/image/ico.c +++ b/image/ico.c @@ -135,6 +135,7 @@ static bool nsico_convert(struct content *c) bmp = ico_find(ico->ico, 255, 255); if (bmp == NULL) { /* return error */ + LOG(("Failed to select icon")); return false; } @@ -155,12 +156,18 @@ static bool nsico_redraw(struct content *c, struct content_redraw_data *data, /* select most appropriate sized icon for size */ bmp = ico_find(ico->ico, data->width, data->height); + if (bmp == NULL) { + /* return error */ + LOG(("Failed to select icon")); + return false; + } /* ensure its decided */ if (bmp->decoded == false) { if (bmp_decode(bmp) != BMP_OK) { return false; } else { + LOG(("Decoding bitmap")); bitmap_modified(bmp->bitmap); } @@ -218,7 +225,14 @@ static void *nsico_get_internal(const struct content *c, void *context) nsico_content *ico = (nsico_content *) c; /* TODO: Pick best size for purpose. * Currently assumes it's for a URL bar. */ - struct bmp_image *bmp = ico_find(ico->ico, 16, 16); + struct bmp_image *bmp; + + bmp = ico_find(ico->ico, 16, 16); + if (bmp == NULL) { + /* return error */ + LOG(("Failed to select icon")); + return NULL; + } if (bmp->decoded == false) { if (bmp_decode(bmp) != BMP_OK) { |