diff options
| author | Marco Trevisan (Treviño) <mail@3v1n0.net> | 2015-09-30 18:32:38 +0200 |
|---|---|---|
| committer | Marco Trevisan (Treviño) <mail@3v1n0.net> | 2015-09-30 18:32:38 +0200 |
| commit | 9d44c249a58159c9dc5a93560dc0b116cf07f17d (patch) | |
| tree | 0b781dac92d95d768664ef926b137e099bc2e3af /UnityCore | |
| parent | 4058e44785e069cf916510d48cbb4cfe7e148f48 (diff) | |
TestGDBusProxy: make tests more robusts when using a cancellable
(bzr r4008.7.19)
Diffstat (limited to 'UnityCore')
| -rw-r--r-- | UnityCore/GLibDBusProxy.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/UnityCore/GLibDBusProxy.cpp b/UnityCore/GLibDBusProxy.cpp index fabef7d48..1cd6f4d3d 100644 --- a/UnityCore/GLibDBusProxy.cpp +++ b/UnityCore/GLibDBusProxy.cpp @@ -344,7 +344,8 @@ void DBusProxy::Impl::WaitForProxy(GCancellable* cancellable, // wait for the signal *con = proxy_acquired.connect([con, canc, timeout, callback] () { - if (!g_cancellable_is_cancelled(canc)) callback(glib::Error()); + if (!g_cancellable_is_cancelled(canc)) + callback(glib::Error()); timeout->Remove(); con->disconnect(); @@ -390,12 +391,15 @@ void DBusProxy::Impl::Call(string const& method_name, if (!proxy_) { glib::Variant sinked_parameters(parameters); - glib::Object<GCancellable>canc(target_canc, glib::AddRef()); + glib::Object<GCancellable> canc(target_canc, glib::AddRef()); + WaitForProxy(canc, timeout_msec, [this, method_name, sinked_parameters, callback, canc, flags, timeout_msec] (glib::Error const& err) { if (err) { - callback(glib::Variant(), err); + if (callback) + callback(glib::Variant(), err); + LOG_WARNING(logger) << "Cannot call method " << method_name << ": " << err; } |
