aboutsummaryrefslogtreecommitdiffstats
path: root/src/wm_layer_control.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/wm_layer_control.cpp')
-rw-r--r--src/wm_layer_control.cpp15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/wm_layer_control.cpp b/src/wm_layer_control.cpp
index acf41f6..9756d5e 100644
--- a/src/wm_layer_control.cpp
+++ b/src/wm_layer_control.cpp
@@ -213,6 +213,8 @@ WMError LayerControl::renderLayers()
{
HMI_INFO("Commit change");
WMError rc = WMError::SUCCESS;
+
+ // Check the number of layers
vector<unsigned> ivi_l_ids;
for(auto& l : this->wm_layers)
{
@@ -224,6 +226,8 @@ WMError LayerControl::renderLayers()
ivi_l_ids.push_back(id);
}
}
+
+ // Create render order
t_ilm_layer* id_array = new t_ilm_layer[ivi_l_ids.size()];
if(id_array == nullptr)
{
@@ -238,6 +242,7 @@ WMError LayerControl::renderLayers()
++count;
}
+ // Display
ilmErrorTypes ret = ilm_displaySetRenderOrder(this->screenID, id_array, ivi_l_ids.size());
if(ret != ILM_SUCCESS)
{
@@ -248,7 +253,7 @@ WMError LayerControl::renderLayers()
{
for(auto& l : this->wm_layers)
{
- l->commitChange();
+ l->update();
}
}
ilm_commitChanges();
@@ -256,7 +261,13 @@ WMError LayerControl::renderLayers()
return rc;
}
-void LayerControl::undoUpdate() {}
+void LayerControl::undoUpdate()
+{
+ for(auto& l : this->wm_layers)
+ {
+ l->undo();
+ }
+}
WMError LayerControl::loadLayerSetting(const string &path)
{