From: Lukasz Kostyra Date: Mon, 20 Oct 2014 12:00:32 +0000 (+0200) Subject: Improvements to SCS API X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e34356ee58cea135d0396e4b1218f11a44dc0216;p=platform%2Fcore%2Fsecurity%2Fvasum.git Improvements to SCS API [Bug] * removeAllWrapper caught wrong type of exception * AddContainer did not focus container after adding * getActiveContainerId segfaulted when no container was present [Cause] N/A [Solution] N/A [Verification] Build, install, run tests. Change-Id: I6bc665952c0f0c515c3aa548bdd6165b2ee7d55b --- diff --git a/server/containers-manager.cpp b/server/containers-manager.cpp index 82be28d..a707fe2 100644 --- a/server/containers-manager.cpp +++ b/server/containers-manager.cpp @@ -490,7 +490,7 @@ void ContainersManager::handleGetContainerIdsCall(dbus::MethodResultBuilder::Poi void ContainersManager::handleGetActiveContainerIdCall(dbus::MethodResultBuilder::Pointer result) { LOGI("GetActiveContainerId call"); - if (mContainers[mConfig.foregroundId]->isRunning()){ + if (!mConfig.foregroundId.empty() && mContainers[mConfig.foregroundId]->isRunning()){ result->set(g_variant_new("(s)", mConfig.foregroundId.c_str())); } else { result->set(g_variant_new("(s)", "")); @@ -622,7 +622,7 @@ void ContainersManager::handleAddContainerCall(const std::string& id, try { LOGD("Removing copied data"); fs::remove_all(fs::path(path)); - } catch(const boost::exception& e) { + } catch(const std::exception& e) { LOGW("Failed to remove data: " << boost::diagnostic_information(e)); } }; @@ -656,8 +656,9 @@ void ContainersManager::handleAddContainerCall(const std::string& id, return; } - auto resultCallback = [result, containerPathStr, removeAllWrapper](bool succeeded) { + auto resultCallback = [this, id, result, containerPathStr, removeAllWrapper](bool succeeded) { if (succeeded) { + focus(id); result->setVoid(); } else { LOGE("Failed to start container.");