aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorYuta Doi <yuta-d@witz-inc.co.jp>2018-06-05 13:23:02 +0900
committerYuta Doi <yuta-d@witz-inc.co.jp>2018-06-05 13:23:02 +0900
commita1c8290bfa6704a81401f1e9682493d3c7d4281a (patch)
tree0a5e71525d42584130c642a754ecd0de97a73626 /src
parentf9e7995b8d6e83236cec630716d5220b0dc81d35 (diff)
Bug fix: refer the released memory of role name
Change-Id: I67aa440a37f8955da2d7daaf1f6ace95016b763d Signed-off-by: Yuta Doi <yuta-d@witz-inc.co.jp>
Diffstat (limited to 'src')
-rw-r--r--src/app.cpp16
1 files changed, 7 insertions, 9 deletions
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<layer_map> 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