aboutsummaryrefslogtreecommitdiffstats
path: root/modules/calendar/e-cal-shell-view-private.c
diff options
context:
space:
mode:
Diffstat (limited to 'modules/calendar/e-cal-shell-view-private.c')
-rw-r--r--modules/calendar/e-cal-shell-view-private.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/modules/calendar/e-cal-shell-view-private.c b/modules/calendar/e-cal-shell-view-private.c
index 43b8ae61cd..11b6ec243d 100644
--- a/modules/calendar/e-cal-shell-view-private.c
+++ b/modules/calendar/e-cal-shell-view-private.c
@@ -690,6 +690,10 @@ e_cal_shell_view_private_dispose (ECalShellView *cal_shell_view)
if (priv->cal_shell_content)
e_cal_shell_content_save_state (priv->cal_shell_content);
+ /* Calling calendar's save state from here, because it is too late in its dispose */
+ if (priv->cal_shell_content)
+ e_cal_shell_content_save_state (priv->cal_shell_content);
+
DISPOSE (priv->cal_shell_backend);
DISPOSE (priv->cal_shell_content);
DISPOSE (priv->cal_shell_sidebar);
@@ -834,6 +838,9 @@ e_cal_shell_view_transfer_item_to (ECalShellView *cal_shell_view,
g_return_if_fail (event != NULL);
g_return_if_fail (E_IS_CAL (destination_client));
+ if (!is_comp_data_valid (event))
+ return;
+
icalcomp_event = event->comp_data->icalcomp;
uid = icalcomponent_get_uid (icalcomp_event);