diff options
author | Ray Strode <rstrode@redhat.com> | 2012-04-13 16:36:50 -0400 |
---|---|---|
committer | Ray Strode <rstrode@redhat.com> | 2012-04-13 16:49:17 -0400 |
commit | 52544a619102ca9f7ea4ef633271dc935f5d47fd (patch) | |
tree | 0840874c16f4dace60f848bfbe8485e27314c07c | |
parent | c5905497733bebf9936a7b028a11ca87caf2d71f (diff) |
lib: don't clear get_all call until after we've ensured call succeeded
This callback may be from a canceled call, in which case get_all no
longer belongs to the callback.
-rw-r--r-- | src/libaccountsservice/act-user.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/libaccountsservice/act-user.c b/src/libaccountsservice/act-user.c index 0b11a7c..02c1070 100644 --- a/src/libaccountsservice/act-user.c +++ b/src/libaccountsservice/act-user.c @@ -1071,8 +1071,6 @@ on_get_all_finished (GObject *object, error = NULL; res = g_dbus_proxy_call_finish (proxy, result, &error); - g_object_unref (user->get_all_call); - user->get_all_call = NULL; if (! res) { g_debug ("Error calling GetAll() when retrieving properties for %s: %s", @@ -1085,6 +1083,9 @@ on_get_all_finished (GObject *object, return; } + g_object_unref (user->get_all_call); + user->get_all_call = NULL; + g_variant_get (res, "(a{sv})", &iter); while (g_variant_iter_next (iter, "{sv}", &key, &value)) { collect_props (key, value, user); |