aboutsummaryrefslogtreecommitdiffstats
path: root/libempathy-gtk/empathy-theme-adium.c
diff options
context:
space:
mode:
authorWill Thompson <will.thompson@collabora.co.uk>2011-10-14 23:22:54 +0800
committerWill Thompson <will.thompson@collabora.co.uk>2011-10-15 01:22:03 +0800
commit68fc48674fb98a3a8fa5cdb48fd12742558ad494 (patch)
tree7b656d79d39c857f3b2b25592442b466f5ba50cf /libempathy-gtk/empathy-theme-adium.c
parente52e0efdb97169497a7160280ba1542895442940 (diff)
downloadgsoc2013-empathy-68fc48674fb98a3a8fa5cdb48fd12742558ad494.tar
gsoc2013-empathy-68fc48674fb98a3a8fa5cdb48fd12742558ad494.tar.gz
gsoc2013-empathy-68fc48674fb98a3a8fa5cdb48fd12742558ad494.tar.bz2
gsoc2013-empathy-68fc48674fb98a3a8fa5cdb48fd12742558ad494.tar.lz
gsoc2013-empathy-68fc48674fb98a3a8fa5cdb48fd12742558ad494.tar.xz
gsoc2013-empathy-68fc48674fb98a3a8fa5cdb48fd12742558ad494.tar.zst
gsoc2013-empathy-68fc48674fb98a3a8fa5cdb48fd12742558ad494.zip
adium themes: crash less hard when Template.html is missing
If Template.html is missing, then you haven't installed Empathy properly (or set EMPATHY_SRCDIR or whatever in my case). But previously we would just crash later down this function when passing template_html to string_with_format() without checking if it's NULL. This patch makes it fail a little less inscrutably.
Diffstat (limited to 'libempathy-gtk/empathy-theme-adium.c')
-rw-r--r--libempathy-gtk/empathy-theme-adium.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/libempathy-gtk/empathy-theme-adium.c b/libempathy-gtk/empathy-theme-adium.c
index 9c23d3517..42c0914c8 100644
--- a/libempathy-gtk/empathy-theme-adium.c
+++ b/libempathy-gtk/empathy-theme-adium.c
@@ -1941,8 +1941,16 @@ empathy_adium_data_new_with_info (const gchar *path, GHashTable *info)
/* template -> empathy's template */
data->custom_template = (template_html != NULL);
if (template_html == NULL) {
+ GError *error = NULL;
+
tmp = empathy_file_lookup ("Template.html", "data");
- g_file_get_contents (tmp, &template_html, NULL, NULL);
+
+ if (!g_file_get_contents (tmp, &template_html, NULL, &error)) {
+ g_warning ("couldn't load Empathy's default theme "
+ "template: %s", error->message);
+ g_return_val_if_reached (data);
+ }
+
g_free (tmp);
}