From a1c8290bfa6704a81401f1e9682493d3c7d4281a Mon Sep 17 00:00:00 2001 From: Yuta Doi Date: Tue, 5 Jun 2018 13:23:02 +0900 Subject: Bug fix: refer the released memory of role name Change-Id: I67aa440a37f8955da2d7daaf1f6ace95016b763d Signed-off-by: Yuta Doi --- src/app.cpp | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/app.cpp b/src/app.cpp index 6bb1a3e..93d827f 100644 --- a/src/app.cpp +++ b/src/app.cpp @@ -96,7 +96,7 @@ struct result load_layer_map(char const *filename) { namespace rm { App *context; -const char *g_new_role; // TODO: workaround +std::string g_new_role; // TODO: workaround static void eventHandler(json_object* json_out) { context->updateWindowResource(json_out); } @@ -104,7 +104,7 @@ static void eventHandler(json_object* json_out) { void App::updateWindowResource(json_object* json_out) { - HMI_DEBUG("wm", "role:%s", rm::g_new_role); + HMI_DEBUG("wm", "role:%s", rm::g_new_role.c_str()); // Check parking brake state json_object* json_parking_brake; @@ -247,14 +247,12 @@ void App::updateWindowResource(json_object* json_out) { // Get category const char* category = nullptr; std::string str_category; - if (nullptr != rm::g_new_role) { - str_category = this->pm_.roleToCategory(rm::g_new_role); - category = str_category.c_str(); - HMI_DEBUG("wm", "role:%s category:%s", rm::g_new_role, category); - } + str_category = this->pm_.roleToCategory(rm::g_new_role.c_str()); + category = str_category.c_str(); + HMI_DEBUG("wm", "role:%s category:%s", rm::g_new_role.c_str(), category); // Update layout - if (this->lm_.updateLayout(json_out, rm::g_new_role, category)) { + if (this->lm_.updateLayout(json_out, rm::g_new_role.c_str(), category)) { HMI_DEBUG("wm", "Layer is changed!!"); // Allocate surface @@ -526,7 +524,7 @@ void App::allocateWindowResource(char const *event, char const *drawing_name, if (nullptr != new_area) { json_object_object_add(json_in, "area", json_object_new_string(new_area)); } - rm::g_new_role = new_role; // TODO: workaround + rm::g_new_role = std::string(new_role); // TODO: workaround this->pm_.inputEvent(json_in); // Release json_object -- cgit 1.2.3-korg