diff options
author | Will Thompson <will.thompson@collabora.co.uk> | 2011-10-14 23:22:54 +0800 |
---|---|---|
committer | Will Thompson <will.thompson@collabora.co.uk> | 2011-10-15 01:22:03 +0800 |
commit | 68fc48674fb98a3a8fa5cdb48fd12742558ad494 (patch) | |
tree | 7b656d79d39c857f3b2b25592442b466f5ba50cf | |
parent | e52e0efdb97169497a7160280ba1542895442940 (diff) | |
download | gsoc2013-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.
-rw-r--r-- | libempathy-gtk/empathy-theme-adium.c | 10 |
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); } |