diff options
author | Charles Kerr <charles.kerr@canonical.com> | 2014-02-25 16:58:34 +0000 |
---|---|---|
committer | CI bot <ps-jenkins@lists.canonical.com> | 2014-02-25 16:58:34 +0000 |
commit | 0bb962f688ea74f1af711ba322ee60f12067c8e5 (patch) | |
tree | 3ef34f9d4adefa12e3f3a03b2116faf85f8243ef | |
parent | 653c7072de11219f4f6081a6bee71158602d01ab (diff) | |
parent | 7c9e1197d27170a3cb43e61b523a3b01a0c1f4bd (diff) | |
download | ayatana-indicator-datetime-0bb962f688ea74f1af711ba322ee60f12067c8e5.tar.gz ayatana-indicator-datetime-0bb962f688ea74f1af711ba322ee60f12067c8e5.tar.bz2 ayatana-indicator-datetime-0bb962f688ea74f1af711ba322ee60f12067c8e5.zip |
Fix g_assert_if_reached() in EdsPlanner::on_source_enabled(). Fixes: 1283610
-rw-r--r-- | src/planner-eds.cpp | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/src/planner-eds.cpp b/src/planner-eds.cpp index c4d2932..da406eb 100644 --- a/src/planner-eds.cpp +++ b/src/planner-eds.cpp @@ -128,20 +128,33 @@ private: { auto self = static_cast<Impl*>(gself); ECalClientSourceType source_type; + bool client_wanted = false; if (e_source_has_extension(source, E_SOURCE_EXTENSION_CALENDAR)) + { source_type = E_CAL_CLIENT_SOURCE_TYPE_EVENTS; + client_wanted = true; + } else if (e_source_has_extension(source, E_SOURCE_EXTENSION_TASK_LIST)) + { source_type = E_CAL_CLIENT_SOURCE_TYPE_TASKS; + client_wanted = true; + } + + const auto source_uid = e_source_get_uid(source); + if (client_wanted) + { + g_debug("%s connecting a client to source %s", G_STRFUNC, source_uid); + e_cal_client_connect(source, + source_type, + self->m_cancellable, + on_client_connected, + gself); + } else - g_assert_not_reached(); - - g_debug("connecting a client to source %s", e_source_get_uid(source)); - e_cal_client_connect(source, - source_type, - self->m_cancellable, - on_client_connected, - gself); + { + g_debug("%s not using source %s -- no tasks/calendar", G_STRFUNC, source_uid); + } } static void on_client_connected(GObject* /*source*/, GAsyncResult * res, gpointer gself) |