diff options
author | Jan Lukas Gernert <jangernert@gmail.com> | 2019-12-19 16:15:15 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-12-19 16:15:15 +0300 |
commit | eb0d9dab95b2e942c48a1c46e7d416311c2c3f04 (patch) | |
tree | 8c0c9ef7ed8d5645cdb37f15813776b40ece3eba | |
parent | cf1be176c1e4275d51e1e8888e3b338cb5b318f3 (diff) | |
parent | 4b386a010465ad6f3c43bd03dedc83846c5b2429 (diff) |
Merge pull request #962 from jameysharp/async-addfeed
Don't add feeds on the UI thread
-rw-r--r-- | src/Backend/Backend.vala | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/src/Backend/Backend.vala b/src/Backend/Backend.vala index 578aae0c..c452b1cd 100644 --- a/src/Backend/Backend.vala +++ b/src/Backend/Backend.vala @@ -865,14 +865,20 @@ namespace FeedReader { } } - string errmsg; - bool success = FeedServer.get_default().addFeed(feedURL, catID, newCatName, out feedID, out errmsg); - errmsg = success ? "" : errmsg; - feedAdded(!success, errmsg); - if(success) - { - startSync(); - } + asyncPayload pl = () => { + string errmsg; + bool success = FeedServer.get_default().addFeed(feedURL, catID, newCatName, out feedID, out errmsg); + errmsg = success ? "" : errmsg; + feedAdded(!success, errmsg); + if(success) + { + m_cancellable.reset(); + sync(false, m_cancellable); + } + }; + callAsync.begin((owned)pl, (obj, res) => { + callAsync.end(res); + }); } public void removeFeed(string feedID) |