From df6a8262a141e0bec824149e7f65568d2187c5c2 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Fri, 12 Sep 2008 01:54:07 +0000 Subject: Arrange for an ESourceList to be shared amongst all instances of a type of shell view. For example, all EBookShellView instances will now share the same ESourceList instance for address books. svn path=/branches/kill-bonobo/; revision=36311 --- calendar/gui/e-cal-shell-view-private.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'calendar/gui/e-cal-shell-view-private.c') diff --git a/calendar/gui/e-cal-shell-view-private.c b/calendar/gui/e-cal-shell-view-private.c index 100a12b09f..2e7619cadc 100644 --- a/calendar/gui/e-cal-shell-view-private.c +++ b/calendar/gui/e-cal-shell-view-private.c @@ -21,10 +21,18 @@ #include "e-cal-shell-view-private.h" void -e_cal_shell_view_private_init (ECalShellView *cal_shell_view) +e_cal_shell_view_private_init (ECalShellView *cal_shell_view, + EShellViewClass *shell_view_class) { ECalShellViewPrivate *priv = cal_shell_view->priv; + ESourceList *source_list; + GObject *object; + object = G_OBJECT (shell_view_class->type_module); + source_list = g_object_get_data (object, "source-list"); + g_return_if_fail (E_IS_SOURCE_LIST (source_list)); + + priv->source_list = g_object_ref (source_list); priv->calendar_actions = gtk_action_group_new ("calendars"); } @@ -39,6 +47,8 @@ e_cal_shell_view_private_dispose (ECalShellView *cal_shell_view) { ECalShellViewPrivate *priv = cal_shell_view->priv; + DISPOSE (priv->source_list); + DISPOSE (priv->calendar_actions); } -- cgit