summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-06-21 05:35:05 +0000
committerDana Jansens <danakj@orodu.net>2003-06-21 05:35:05 +0000
commitdc92dbfc56e2801233d6c7a21bc07f8763d9cc67 (patch)
tree5ca6a487518ade290b6e42bc2e02f265a94a9f46
parentb3e9fea103cc6220fa66312fa9f53f8d3b6427ca (diff)
don't exit in the render lib, rather return a NULL font/theme on failure
-rw-r--r--render/font.c5
-rw-r--r--render/theme.c17
2 files changed, 15 insertions, 7 deletions
diff --git a/render/font.c b/render/font.c
index 592ced6f..b9a17b48 100644
--- a/render/font.c
+++ b/render/font.c
@@ -23,7 +23,7 @@ static void font_startup(void)
#endif /* DEBUG */
if (!XftInit(0)) {
g_warning(_("Couldn't initialize Xft.\n"));
- exit(3);
+ exit(EXIT_FAILURE);
}
#ifdef DEBUG
version = XftGetVersion();
@@ -71,9 +71,8 @@ RrFont *RrFontOpen(const RrInstance *inst, char *fontstring)
return out;
}
g_warning(_("Unable to load font: %s\n"), "sans");
- g_warning(_("Aborting!.\n"));
- exit(3); /* can't continue without a font */
+ return NULL;
}
void RrFontClose(RrFont *f)
diff --git a/render/theme.c b/render/theme.c
index 1a38093a..7e45b86f 100644
--- a/render/theme.c
+++ b/render/theme.c
@@ -27,7 +27,7 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name)
gchar *font_str;
RrTheme *theme;
- theme = g_new(RrTheme, 1);
+ theme = g_new0(RrTheme, 1);
theme->inst = inst;
@@ -125,7 +125,10 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name)
theme->winfont_shadow_tint < 100 || theme->winfont_shadow_tint > 100)
theme->winfont_shadow_tint = 25;
- theme->winfont = RrFontOpen(inst, font_str);
+ if (!(theme->winfont = RrFontOpen(inst, font_str))) {
+ RrThemeFree(theme);
+ return NULL;
+ }
theme->winfont_height = RrFontHeight(theme->winfont, theme->winfont_shadow,
theme->winfont_shadow_offset);
@@ -156,7 +159,10 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name)
theme->mtitlefont_shadow_tint > 100)
theme->mtitlefont_shadow_tint = 25;
- theme->mtitlefont = RrFontOpen(inst, font_str);
+ if (!(theme->mtitlefont = RrFontOpen(inst, font_str))) {
+ RrThemeFree(theme);
+ return NULL;
+ }
theme->mtitlefont_height = RrFontHeight(theme->mtitlefont,
theme->mtitlefont_shadow,
theme->mtitlefont_shadow_offset);
@@ -188,7 +194,10 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name)
theme->mfont_shadow_tint > 100)
theme->mfont_shadow_tint = 25;
- theme->mfont = RrFontOpen(inst, font_str);
+ if (!(theme->mfont = RrFontOpen(inst, font_str))) {
+ RrThemeFree(theme);
+ return NULL;
+ }
theme->mfont_height = RrFontHeight(theme->mfont, theme->mfont_shadow,
theme->mfont_shadow_offset);