aboutsummaryrefslogtreecommitdiffstats
path: root/calendar
diff options
context:
space:
mode:
authorMilan Crha <mcrha@redhat.com>2011-03-09 15:56:56 +0800
committerRodrigo Moya <rodrigo@gnome-db.org>2011-06-30 00:41:43 +0800
commite0f339b781ee043a7a0196d98a87b9750a8fc2fe (patch)
tree2b17784c4fc1c46e114bf24b3da50ddf00a868ed /calendar
parent7ea1badd8a6e61d727ca7353dd5d34d2735bf067 (diff)
downloadgsoc2013-evolution-e0f339b781ee043a7a0196d98a87b9750a8fc2fe.tar
gsoc2013-evolution-e0f339b781ee043a7a0196d98a87b9750a8fc2fe.tar.gz
gsoc2013-evolution-e0f339b781ee043a7a0196d98a87b9750a8fc2fe.tar.bz2
gsoc2013-evolution-e0f339b781ee043a7a0196d98a87b9750a8fc2fe.tar.lz
gsoc2013-evolution-e0f339b781ee043a7a0196d98a87b9750a8fc2fe.tar.xz
gsoc2013-evolution-e0f339b781ee043a7a0196d98a87b9750a8fc2fe.tar.zst
gsoc2013-evolution-e0f339b781ee043a7a0196d98a87b9750a8fc2fe.zip
Bug #637641 - Crash on audio alarms with invalid file URI set
Diffstat (limited to 'calendar')
-rw-r--r--calendar/gui/alarm-notify/alarm-queue.c29
1 files changed, 16 insertions, 13 deletions
diff --git a/calendar/gui/alarm-notify/alarm-queue.c b/calendar/gui/alarm-notify/alarm-queue.c
index 3f8cccb716..4f3233501c 100644
--- a/calendar/gui/alarm-notify/alarm-queue.c
+++ b/calendar/gui/alarm-notify/alarm-queue.c
@@ -1690,25 +1690,28 @@ audio_notification (time_t trigger, CompQueuedAlarms *cqa,
if (attach && icalattach_get_is_url (attach)) {
const gchar *url;
- gchar *filename;
- GError *error = NULL;
url = icalattach_get_url (attach);
- filename = g_filename_from_uri (url, NULL, &error);
+ if (url && *url) {
+ gchar *filename;
+ GError *error = NULL;
- if (error != NULL) {
- g_warning ("%s: %s", G_STRFUNC, error->message);
- g_error_free (error);
- } else if (g_file_test (filename, G_FILE_TEST_EXISTS)) {
- flag = 1;
+ filename = g_filename_from_uri (url, NULL, &error);
+
+ if (error != NULL) {
+ g_warning ("%s: %s", G_STRFUNC, error->message);
+ g_error_free (error);
+ } else if (filename && g_file_test (filename, G_FILE_TEST_EXISTS)) {
#ifdef HAVE_CANBERRA
- ca_context_play (
- ca_gtk_context_get (), 0,
- CA_PROP_MEDIA_FILENAME, filename, NULL);
+ flag = 1;
+ ca_context_play (
+ ca_gtk_context_get (), 0,
+ CA_PROP_MEDIA_FILENAME, filename, NULL);
#endif
- }
+ }
- g_free (filename);
+ g_free (filename);
+ }
}
if (!flag)