aboutsummaryrefslogtreecommitdiff
path: root/libdino/src/service
diff options
context:
space:
mode:
Diffstat (limited to 'libdino/src/service')
-rw-r--r--libdino/src/service/connection_manager.vala22
1 files changed, 14 insertions, 8 deletions
diff --git a/libdino/src/service/connection_manager.vala b/libdino/src/service/connection_manager.vala
index b73cd117..2abbc9cb 100644
--- a/libdino/src/service/connection_manager.vala
+++ b/libdino/src/service/connection_manager.vala
@@ -121,7 +121,7 @@ public class ConnectionManager {
}
public void make_offline_all() {
- foreach (Account account in connection_todo) {
+ foreach (Account account in connections.keys) {
make_offline(account);
}
}
@@ -134,13 +134,17 @@ public class ConnectionManager {
}
public void disconnect(Account account) {
- make_offline(account);
- try {
- connections[account].stream.disconnect();
- } catch (Error e) { print(@"on_prepare_for_sleep error $(e.message)\n"); }
- connection_todo.remove(account);
if (connections.has_key(account)) {
- connections.unset(account);
+ make_offline(account);
+ try {
+ connections[account].stream.disconnect();
+ } catch (Error e) {
+ warning(@"Error disconnecting stream $(e.message)\n");
+ }
+ connection_todo.remove(account);
+ if (connections.has_key(account)) {
+ connections.unset(account);
+ }
}
}
@@ -283,7 +287,9 @@ public class ConnectionManager {
try {
make_offline(account);
connections[account].stream.disconnect();
- } catch (Error e) { print(@"on_prepare_for_sleep error $(e.message)\n"); }
+ } catch (Error e) {
+ warning(@"Error disconnecting stream $(e.message)\n");
+ }
}
} else {
print("Device un-suspend\n");