Fix place of connection.json
[apps/agl-service-windowmanager.git] / src / applist.cpp
index 67980f1..8ef08dd 100644 (file)
@@ -311,8 +311,8 @@ const vector<struct WMAction> &AppList::getActions(unsigned req_num, bool* found
     }
     HMI_SEQ_ERROR(req_num, "Couldn't get action with the request : %d", req_num);
     {
-      static vector<struct WMAction> empty;
-      return empty;
+        static vector<struct WMAction> empty;
+        return empty;
     }
 }
 
@@ -381,7 +381,7 @@ WMError AppList::setAction(unsigned req_num, shared_ptr<WMClient> client, const
         }
         // If visible task is not invisible, redraw is required -> true
         bool edraw_f = (visible != TaskVisible::INVISIBLE) ? false : true;
-        WMAction action{req_num, client, role, area, visible, edraw_f};
+        WMAction action{req_num, client, role, area, visible, edraw_f, TaskCarState::NO_TASK};
 
         x.sync_draw_req.push_back(action);
         result = WMError::SUCCESS;
@@ -417,11 +417,23 @@ bool AppList::setEndDrawFinished(unsigned req_num, const string &appid, const st
         {
             for (auto &y : x.sync_draw_req)
             {
-                if (y.client->appID() == appid && y.role == role)
+                if (nullptr != y.client)
                 {
-                    HMI_SEQ_INFO(req_num, "Role %s finish redraw", y.role.c_str());
-                    y.end_draw_finished = true;
-                    result = true;
+                    if (y.client->appID() == appid && y.role == role)
+                    {
+                        HMI_SEQ_INFO(req_num, "Role %s finish redraw", y.role.c_str());
+                        y.end_draw_finished = true;
+                        result = true;
+                    }
+                }
+                else
+                {
+                    if (y.role == role)
+                    {
+                        HMI_SEQ_INFO(req_num, "Role %s finish redraw", y.role.c_str());
+                        y.end_draw_finished = true;
+                        result = true;
+                    }
                 }
             }
         }
@@ -532,7 +544,7 @@ void AppList::reqDump()
         {
             DUMP(
                 "Action  : (APPID :%s, ROLE :%s, AREA :%s, VISIBLE : %s, END_DRAW_FINISHED: %d)",
-                y.client->appID().c_str(),
+                (y.client) ? y.client->appID().c_str() : "-",
                 y.role.c_str(),
                 y.area.c_str(),
                 (y.visible == TaskVisible::INVISIBLE) ? "invisible" : "visible",