X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fhybrid%2Fstep%2Fconfiguration%2Fstep_merge_tpk_config.cc;h=eb2619f1142b5de2733ff4c663e808f6983ca93f;hb=7092ec6220bd497293e7512b06b5fd4d880d5927;hp=d63d00322dd264da456ec15240004128276f89e3;hpb=71f6fe2fbe94e8e883d1c6d044159ecb824a3445;p=platform%2Fcore%2Fappfw%2Fwgt-backend.git diff --git a/src/hybrid/step/configuration/step_merge_tpk_config.cc b/src/hybrid/step/configuration/step_merge_tpk_config.cc index d63d003..eb2619f 100644 --- a/src/hybrid/step/configuration/step_merge_tpk_config.cc +++ b/src/hybrid/step/configuration/step_merge_tpk_config.cc @@ -6,6 +6,8 @@ #include +#include + #include "hybrid/hybrid_backend_data.h" namespace hybrid { @@ -22,11 +24,27 @@ common_installer::Step::Status StepMergeTpkConfig::process() { manifest_x* tpk_data = data->tpk_manifest_data.get(); manifest_x* wgt_data = context_->manifest_data.get(); - if (merge_type_ == MergeType::CONCAT) + if (merge_type_ == MergeType::CONCAT) { wgt_data->application = g_list_concat(wgt_data->application, tpk_data->application); - else + } else { + // mainappid should be webapp for hybrid pkg + for (application_x* app : + GListRange(tpk_data->application)) { + if (app->type && strcmp(app->type, "webapp") != 0) + continue; + + if (app->mainapp) + free(app->mainapp); + app->mainapp = strdup("true"); + if (!app->mainapp) { + LOG(ERROR) << "Out of memoery"; + return Status::ERROR; + } + break; + } wgt_data->application = tpk_data->application; + } tpk_data->application = nullptr; return Status::OK;