aboutsummaryrefslogtreecommitdiffstats
path: root/src/window_manager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/window_manager.cpp')
-rw-r--r--src/window_manager.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/window_manager.cpp b/src/window_manager.cpp
index 15f55f0..fb35ab0 100644
--- a/src/window_manager.cpp
+++ b/src/window_manager.cpp
@@ -1102,6 +1102,15 @@ WMError WindowManager::setInvisibleTask(const std::string &role, bool split)
{
unsigned req_num = g_app_list.currentRequestNumber();
HMI_SEQ_DEBUG(req_num, "set current visible app to invisible task");
+ bool found = false;
+ auto trigger = g_app_list.getRequest(req_num, &found);
+ // I don't check found == true here because this is checked in caller.
+ if(trigger.role == "homescreen")
+ {
+ HMI_SEQ_INFO(req_num, "In case of 'homescreen' visible, don't change app to invisible");
+ return WMError::SUCCESS;
+ }
+
// This task is copied from original actiavete surface
const char *drawing_name = this->rolenew2old[role].c_str();
auto const &surface_id = this->lookup_id(role.c_str());
@@ -1113,7 +1122,6 @@ WMError WindowManager::setInvisibleTask(const std::string &role, bool split)
int surface;
TaskVisible task_visible = TaskVisible::INVISIBLE;
bool end_draw_finished = true;
- bool found = false;
for (auto const &l : this->layers.mapping)
{