diff options
Diffstat (limited to 'src/engine-eds.cpp')
-rw-r--r-- | src/engine-eds.cpp | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/engine-eds.cpp b/src/engine-eds.cpp index fc6a45b..becd40f 100644 --- a/src/engine-eds.cpp +++ b/src/engine-eds.cpp @@ -50,8 +50,7 @@ class EdsEngine::Impl { public: - Impl(const std::shared_ptr<Myself> &myself) - : m_myself(myself) + Impl(const std::unique_ptr<Myself> &myself) { auto cancellable_deleter = [](GCancellable * c) { g_cancellable_cancel(c); @@ -60,9 +59,11 @@ public: m_cancellable = std::shared_ptr<GCancellable>(g_cancellable_new(), cancellable_deleter); e_source_registry_new(m_cancellable.get(), on_source_registry_ready, this); - m_myself->emails().changed().connect([this](const std::set<std::string> &) { + + m_myself = std::unique_ptr<Myself>(new Myself()); + /*m_myself->emails().changed().connect([this](const std::set<std::string> &) { set_dirty_soon(); - }); + });*/ } ~Impl() @@ -1253,7 +1254,7 @@ private: ESourceRegistry* m_source_registry {}; guint m_rebuild_tag {}; time_t m_rebuild_deadline {}; - std::shared_ptr<Myself> m_myself; + std::unique_ptr<Myself> m_myself; }; /*** @@ -1261,11 +1262,11 @@ private: ***/ EdsEngine::EdsEngine(): - p(new Impl(std::shared_ptr<Myself>(new Myself))) + p(new Impl(std::unique_ptr<Myself>(new Myself))) { } -EdsEngine::EdsEngine(const std::shared_ptr<Myself> &myself): +EdsEngine::EdsEngine(const std::unique_ptr<Myself> &myself): p(new Impl(myself)) { } |