Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/jangernert/FeedReader.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Lukas Gernert <jangernert@gmail.com>2019-12-19 16:15:15 +0300
committerGitHub <noreply@github.com>2019-12-19 16:15:15 +0300
commiteb0d9dab95b2e942c48a1c46e7d416311c2c3f04 (patch)
tree8c0c9ef7ed8d5645cdb37f15813776b40ece3eba
parentcf1be176c1e4275d51e1e8888e3b338cb5b318f3 (diff)
parent4b386a010465ad6f3c43bd03dedc83846c5b2429 (diff)
Merge pull request #962 from jameysharp/async-addfeed
Don't add feeds on the UI thread
-rw-r--r--src/Backend/Backend.vala22
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)