summaryrefslogtreecommitdiff
path: root/gtk/gtk_theme.c
diff options
context:
space:
mode:
authorJohn Mark Bell <jmb@netsurf-browser.org>2009-12-18 20:15:50 +0000
committerJohn Mark Bell <jmb@netsurf-browser.org>2009-12-18 20:15:50 +0000
commitb75b2ae8bbeada1a364332596a759f4d0410a852 (patch)
tree22738b6fd641b63432b211ca5f04d1cbb20ef20b /gtk/gtk_theme.c
parent46eaa6a0586dfafb4d0802c1583c86a6d155eaa3 (diff)
downloadnetsurf-b75b2ae8bbeada1a364332596a759f4d0410a852.tar.gz
netsurf-b75b2ae8bbeada1a364332596a759f4d0410a852.tar.bz2
Merge r9731:HEAD from branches/MarkieB/gtkmain to trunk.
svn path=/trunk/netsurf/; revision=9737
Diffstat (limited to 'gtk/gtk_theme.c')
-rw-r--r--gtk/gtk_theme.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/gtk/gtk_theme.c b/gtk/gtk_theme.c
index f215cbeea..f85ffa2e3 100644
--- a/gtk/gtk_theme.c
+++ b/gtk/gtk_theme.c
@@ -213,6 +213,7 @@ bool nsgtk_theme_verify(const char *themename)
+ 1);
if (filecontent == NULL) {
warn_user(messages_get("NoMemory"), 0);
+ fclose(fp);
return true;
}
strcpy(filecontent, "gtk default theme\n");
@@ -226,6 +227,7 @@ bool nsgtk_theme_verify(const char *themename)
if (testfile == NULL) {
warn_user(messages_get("NoMemory"), 0);
free(filecontent);
+ fclose(fp);
return false;
}
sprintf(testfile, "%sthemes/%s", res_dir_location,
@@ -381,8 +383,8 @@ struct nsgtk_theme *nsgtk_theme_load(GtkIconSize s)
return nsgtk_theme_default(s);
struct nsgtk_theme *theme = malloc(sizeof(struct nsgtk_theme));
- if (theme == NULL)
- return theme;
+ if (theme == NULL)
+ return theme;
if ((theme_cache_menu == NULL) || (theme_cache_toolbar == NULL))
nsgtk_theme_prepare();
@@ -390,8 +392,10 @@ struct nsgtk_theme *nsgtk_theme_load(GtkIconSize s)
/* load theme from cache */
struct nsgtk_theme_cache *cachetheme = (s == GTK_ICON_SIZE_MENU) ?
theme_cache_menu : theme_cache_toolbar;
- if (cachetheme == NULL)
+ if (cachetheme == NULL) {
+ free(theme);
return NULL;
+ }
#define SET_BUTTON_IMAGE(p, q, r)\
if (p->image[q##_BUTTON] != NULL)\
@@ -731,6 +735,7 @@ bool theme_install_read(const char *data, unsigned long len)
if (handle == -1) {
warn_user(messages_get("gtkFileError"),
"temporary theme file");
+ return false;
}
ssize_t written = write(handle, data, len);
close(handle);