diff options
author | Milan Crha <mcrha@redhat.com> | 2011-08-02 21:23:52 +0800 |
---|---|---|
committer | Rodrigo Moya <rodrigo@gnome-db.org> | 2011-09-14 20:08:42 +0800 |
commit | cbe678c4c58efdb0b0d7960a9c6d33c30a95ce8c (patch) | |
tree | f0c3d5d4443eceff47a6f43c0daafdaac840143f /calendar/gui/dialogs/recurrence-page.c | |
parent | 86f37c46dd2f61e86a82938c956490c37ed6f2ce (diff) | |
download | gsoc2013-evolution-cbe678c4c58efdb0b0d7960a9c6d33c30a95ce8c.tar gsoc2013-evolution-cbe678c4c58efdb0b0d7960a9c6d33c30a95ce8c.tar.gz gsoc2013-evolution-cbe678c4c58efdb0b0d7960a9c6d33c30a95ce8c.tar.bz2 gsoc2013-evolution-cbe678c4c58efdb0b0d7960a9c6d33c30a95ce8c.tar.lz gsoc2013-evolution-cbe678c4c58efdb0b0d7960a9c6d33c30a95ce8c.tar.xz gsoc2013-evolution-cbe678c4c58efdb0b0d7960a9c6d33c30a95ce8c.tar.zst gsoc2013-evolution-cbe678c4c58efdb0b0d7960a9c6d33c30a95ce8c.zip |
Bug #655190 - Sluggish performance interacting with calendar/tasks
Diffstat (limited to 'calendar/gui/dialogs/recurrence-page.c')
-rw-r--r-- | calendar/gui/dialogs/recurrence-page.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/calendar/gui/dialogs/recurrence-page.c b/calendar/gui/dialogs/recurrence-page.c index bf8f1c191c..8e52250dfa 100644 --- a/calendar/gui/dialogs/recurrence-page.c +++ b/calendar/gui/dialogs/recurrence-page.c @@ -185,6 +185,8 @@ struct _RecurrencePagePrivate { /* This just holds some settings we need */ EMeetingStore *meeting_store; + + GCancellable *cancellable; }; @@ -266,7 +268,7 @@ preview_recur (RecurrencePage *rpage) fill_component (rpage, comp); tag_calendar_by_comp (E_CALENDAR (priv->preview_calendar), comp, - client, zone, TRUE, FALSE, FALSE); + client, zone, TRUE, FALSE, FALSE, priv->cancellable); g_object_unref (comp); } @@ -324,6 +326,12 @@ recurrence_page_dispose (GObject *object) priv->meeting_store = NULL; } + if (priv->cancellable) { + g_cancellable_cancel (priv->cancellable); + g_object_unref (priv->cancellable); + priv->cancellable = NULL; + } + /* Chain up to parent's dispose() method. */ G_OBJECT_CLASS (recurrence_page_parent_class)->dispose (object); } @@ -379,6 +387,8 @@ recurrence_page_init (RecurrencePage *rpage) { rpage->priv = G_TYPE_INSTANCE_GET_PRIVATE ( rpage, TYPE_RECURRENCE_PAGE, RecurrencePagePrivate); + + rpage->priv->cancellable = g_cancellable_new (); } /* get_widget handler for the recurrence page */ |