From ce84de41be3f8c53a64c550797e3a8564c3db102 Mon Sep 17 00:00:00 2001 From: Nathan Hourt Date: Tue, 21 Jul 2015 17:56:52 -0400 Subject: [PATCH] [GUI] Fix object update notification handling --- libraries/app/include/graphene/app/api.hpp | 4 ++-- programs/light_client/ClientDataModel.cpp | 8 +++++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/libraries/app/include/graphene/app/api.hpp b/libraries/app/include/graphene/app/api.hpp index be457af2..6039a85e 100644 --- a/libraries/app/include/graphene/app/api.hpp +++ b/libraries/app/include/graphene/app/api.hpp @@ -151,7 +151,7 @@ namespace graphene { namespace app { * */ std::map get_full_accounts(std::function callback, - const vector& names_or_ids); + const vector& names_or_ids); /** * Stop receiving updates generated by get_full_accounts() @@ -309,7 +309,7 @@ namespace graphene { namespace app { /** * This API will take a partially signed transaction and a set of public keys that the owner has the ability to sign for - * and return the minimal subset of public keys that should add signatures to the transaction. + * and return the minimal subset of public keys that should add signatures to the transaction. */ set get_required_signatures( const signed_transaction& trx, const flat_set& available_keys )const; diff --git a/programs/light_client/ClientDataModel.cpp b/programs/light_client/ClientDataModel.cpp index deda45c2..40d5f3af 100644 --- a/programs/light_client/ClientDataModel.cpp +++ b/programs/light_client/ClientDataModel.cpp @@ -141,7 +141,13 @@ void ChainDataModel::getAccountImpl(QString accountIdentifier, Account* const * try { ilog("Fetching account ${acct}", ("acct", accountIdentifier.toStdString())); auto result = m_db_api->get_full_accounts([this](const fc::variant& v) { - processUpdatedObject(v); + vector updates = v.as>(); + for (const variant& update : updates) { + if (update.is_object()) + processUpdatedObject(update); + else + elog("Handling object deletions is not yet implemented: ${update}", ("update", update)); + } }, {accountIdentifier.toStdString()}); fc::optional accountPackage;