Author: vince
Date: Fri Dec 30 18:00:54 2011
New Revision: 13357
URL:
http://source.netsurf-browser.org?rev=13357&view=rev
Log:
load default favicon once
Modified:
trunk/netsurf/gtk/gui.c
trunk/netsurf/gtk/gui.h
trunk/netsurf/gtk/scaffolding.c
trunk/netsurf/gtk/toolbar.c
Modified: trunk/netsurf/gtk/gui.c
URL:
http://source.netsurf-browser.org/trunk/netsurf/gtk/gui.c?rev=13357&r...
==============================================================================
--- trunk/netsurf/gtk/gui.c (original)
+++ trunk/netsurf/gtk/gui.c Fri Dec 30 18:00:54 2011
@@ -87,6 +87,8 @@
char *print_options_file_location;
char *languages_file_location;
+GdkPixbuf *favicon_pixbuf; /* favicon default pixbuf */
+
struct glade_file_location_s *glade_file_location;
static GtkWindow *nsgtk_warning_window;
@@ -388,6 +390,17 @@
/* Default Icon */
search_default_ico_location = filepath_find(respath, "default.ico");
LOG(("Using '%s' as default search ico",
search_default_ico_location));
+
+ /* Default favicon */
+ resource_filename = filepath_find(respath, "favicon.png");
+ if (resource_filename != NULL) {
+ favicon_pixbuf = gdk_pixbuf_new_from_file(resource_filename, NULL);
+ free(resource_filename);
+ if (favicon_pixbuf == NULL) {
+ favicon_pixbuf = gdk_pixbuf_new(GDK_COLORSPACE_RGB, false, 8, 16,16);
+
+ }
+ }
/* Toolbar inicies file */
toolbar_indices_file_location = filepath_find(respath, "toolbarIndices");
Modified: trunk/netsurf/gtk/gui.h
URL:
http://source.netsurf-browser.org/trunk/netsurf/gtk/gui.h?rev=13357&r...
==============================================================================
--- trunk/netsurf/gtk/gui.h (original)
+++ trunk/netsurf/gtk/gui.h Fri Dec 30 18:00:54 2011
@@ -54,6 +54,8 @@
extern char *res_dir_location;
extern char *print_options_file_location;
+extern GdkPixbuf *favicon_pixbuf; /* favicon default pixbuf */
+
uint32_t gtk_gui_gdkkey_to_nskey(GdkEventKey *);
#endif /* GTK_GUI_H */
Modified: trunk/netsurf/gtk/scaffolding.c
URL:
http://source.netsurf-browser.org/trunk/netsurf/gtk/scaffolding.c?rev=133...
==============================================================================
--- trunk/netsurf/gtk/scaffolding.c (original)
+++ trunk/netsurf/gtk/scaffolding.c Fri Dec 30 18:00:54 2011
@@ -2012,10 +2012,8 @@
}
if (icon_pixbuf == NULL) {
- char imagepath[strlen(res_dir_location) +
- SLEN("favicon.png") + 1];
- sprintf(imagepath, "%sfavicon.png", res_dir_location);
- icon_pixbuf = gdk_pixbuf_new_from_file(imagepath, NULL);
+ g_object_ref(favicon_pixbuf);
+ icon_pixbuf = favicon_pixbuf;
}
if (icon_pixbuf == NULL) {
Modified: trunk/netsurf/gtk/toolbar.c
URL:
http://source.netsurf-browser.org/trunk/netsurf/gtk/toolbar.c?rev=13357&a...
==============================================================================
--- trunk/netsurf/gtk/toolbar.c (original)
+++ trunk/netsurf/gtk/toolbar.c Fri Dec 30 18:00:54 2011
@@ -704,10 +704,6 @@
return GTK_WIDGET(gtk_tool_button_new(GTK_WIDGET(
theme->image[HISTORY_BUTTON]), ""));
case URL_BAR_ITEM: {
- char imagefile[strlen(res_dir_location) + SLEN("favicon.png")
- + 1];
- sprintf(imagefile, "%sfavicon.png", res_dir_location);
- GdkPixbuf *iconbuf = gdk_pixbuf_new_from_file(imagefile, NULL);
GtkWidget *entry = nsgtk_entry_new();
GtkWidget *w = GTK_WIDGET(gtk_tool_item_new());
@@ -716,9 +712,9 @@
return NULL;
}
- if (iconbuf != NULL) {
- nsgtk_entry_set_icon_from_pixbuf(entry, GTK_ENTRY_ICON_PRIMARY, iconbuf);
- }
+ nsgtk_entry_set_icon_from_pixbuf(entry,
+ GTK_ENTRY_ICON_PRIMARY,
+ favicon_pixbuf);
gtk_container_add(GTK_CONTAINER(w), entry);
gtk_tool_item_set_expand(GTK_TOOL_ITEM(w), TRUE);