aboutsummaryrefslogtreecommitdiffstats
path: root/calendar
diff options
context:
space:
mode:
authorMilan Crha <mcrha@redhat.com>2009-01-14 20:42:52 +0800
committerMilan Crha <mcrha@src.gnome.org>2009-01-14 20:42:52 +0800
commit81dd4dc7093219b04e3e13fa9b9f7e61211d02f2 (patch)
tree39d7595bd4a221a189edacdd882635d5c18e9dac /calendar
parent1cfd611a0585ab4026b5c351e8c16a4b7d7f1667 (diff)
downloadgsoc2013-evolution-81dd4dc7093219b04e3e13fa9b9f7e61211d02f2.tar
gsoc2013-evolution-81dd4dc7093219b04e3e13fa9b9f7e61211d02f2.tar.gz
gsoc2013-evolution-81dd4dc7093219b04e3e13fa9b9f7e61211d02f2.tar.bz2
gsoc2013-evolution-81dd4dc7093219b04e3e13fa9b9f7e61211d02f2.tar.lz
gsoc2013-evolution-81dd4dc7093219b04e3e13fa9b9f7e61211d02f2.tar.xz
gsoc2013-evolution-81dd4dc7093219b04e3e13fa9b9f7e61211d02f2.tar.zst
gsoc2013-evolution-81dd4dc7093219b04e3e13fa9b9f7e61211d02f2.zip
** Fix for bug #554454
2009-01-14 Milan Crha <mcrha@redhat.com> ** Fix for bug #554454 * gui/e-cal-model.c: (e_cal_view_objects_modified_cb): Do not crash when received 'modified' event for something not in a model. And a leak fix. svn path=/trunk/; revision=37068
Diffstat (limited to 'calendar')
-rw-r--r--calendar/ChangeLog8
-rw-r--r--calendar/gui/e-cal-model.c9
2 files changed, 17 insertions, 0 deletions
diff --git a/calendar/ChangeLog b/calendar/ChangeLog
index 2882432204..da6ee9b473 100644
--- a/calendar/ChangeLog
+++ b/calendar/ChangeLog
@@ -1,3 +1,11 @@
+2009-01-14 Milan Crha <mcrha@redhat.com>
+
+ ** Fix for bug #554454
+
+ * gui/e-cal-model.c: (e_cal_view_objects_modified_cb):
+ Do not crash when received 'modified' event for something
+ not in a model. And a leak fix.
+
2009-01-13 Milan Crha <mcrha@redhat.com>
** Fix for bug #489437
diff --git a/calendar/gui/e-cal-model.c b/calendar/gui/e-cal-model.c
index 60dfd5e467..7f7fe2db02 100644
--- a/calendar/gui/e-cal-model.c
+++ b/calendar/gui/e-cal-model.c
@@ -1518,6 +1518,15 @@ e_cal_view_objects_modified_cb (ECalView *query, GList *objects, gpointer user_d
id = e_cal_component_get_id (comp);
comp_data = search_by_id_and_client (priv, client, id);
+
+ e_cal_component_free_id (id);
+ g_object_unref (comp);
+
+ if (!comp_data) {
+ /* the modified component is not in the model yet, just skip it */
+ continue;
+ }
+
if (comp_data->icalcomp)
icalcomponent_free (comp_data->icalcomp);
if (comp_data->dtstart) {