diff options
author | Rahul Singhal <rasinghal@nvidia.com> | 2012-04-09 11:22:44 +0530 |
---|---|---|
committer | Michael Schuldt <michael.schuldt@bmw.de> | 2012-05-03 09:20:44 +0200 |
commit | 8461c1f2b7ca2a8f01b349c9283b71fae4ed783b (patch) | |
tree | 2273e22fdd51bce930db296cd86d63497a491bf1 /LayerManagerCommands | |
parent | 962e9e6cabaf455a5321cfbcc6214f0c1b25f3be (diff) | |
download | layer_management-8461c1f2b7ca2a8f01b349c9283b71fae4ed783b.tar.gz |
LayerManagerCommands: return redraw only when absolutely required
This is a small optimization to cover a corner case where a client
may blindly keep setting the same property without changing its value
forcing a redundant composition.
Change-Id: Ie872b65c6fcbd2a2e17a9f883112c347860d90d1
Diffstat (limited to 'LayerManagerCommands')
28 files changed, 68 insertions, 75 deletions
diff --git a/LayerManagerCommands/include/ShaderDestroyCommand.h b/LayerManagerCommands/include/ShaderDestroyCommand.h index d08c7ea..96ad3e3 100644 --- a/LayerManagerCommands/include/ShaderDestroyCommand.h +++ b/LayerManagerCommands/include/ShaderDestroyCommand.h @@ -62,9 +62,9 @@ public: private: /// detach shader from all surfaces, surface groups, etc... from surfaces - void removeShaderFromAllSurfaces(const SurfaceMap & surfaceMap, Shader* shader); + bool removeShaderFromAllSurfaces(const SurfaceMap & surfaceMap, Shader* shader); - void removeShaderFromAllLayers(const LayerMap & layerMap, Shader *& shader); + bool removeShaderFromAllLayers(const LayerMap & layerMap, Shader *& shader); private: const unsigned int m_id; diff --git a/LayerManagerCommands/src/LayerAddSurfaceCommand.cpp b/LayerManagerCommands/src/LayerAddSurfaceCommand.cpp index 4239402..e720d58 100644 --- a/LayerManagerCommands/src/LayerAddSurfaceCommand.cpp +++ b/LayerManagerCommands/src/LayerAddSurfaceCommand.cpp @@ -38,17 +38,17 @@ ExecutionResult LayerAddSurfaceCommand::execute(ICommandExecutor* executor) if (layer != NULL && surface != NULL) { - unsigned int layer_id = surface->getContainingLayerId(); - if (layer_id != GraphicalObject::INVALID_ID) + if (layer->addSurface(surface)) { - LOG_WARNING("LayerAddSurfaceCommand","surface : id [ " << m_surfaceid << " ] already belongs to layer : id [ " << layer_id << " ]"); + LOG_DEBUG("LayerAddSurfaceCommand","Adding surface(" << m_surfaceid << ")" << surface->getID() << " to layer(" << m_layerid << ") " << layer->getID()); + LOG_DEBUG("LayerAddSurfaceCommand", "Layer now has #surfaces:" << layer->getAllSurfaces().size()); + result = surface->hasNativeContent() ? ExecutionSuccessRedraw : ExecutionSuccess; } else { - LOG_DEBUG("LayerAddSurfaceCommand","add surface(" << m_surfaceid << ")" << surface->getID() << " to layer(" << m_layerid << ") " << layer->getID()); - layer->addSurface(surface); - LOG_DEBUG("LayerAddSurfaceCommand", "Layer now has #surfaces:" << layer->getAllSurfaces().size()); - result = ExecutionSuccessRedraw; + unsigned int layer_id = surface->getContainingLayerId(); + LOG_WARNING("LayerAddSurfaceCommand","surface : id [ " << m_surfaceid << " ] already belongs to layer : id [ " << layer_id << " ]"); + result = (m_layerid == layer_id) ? ExecutionSuccess : ExecutionFailed; } } diff --git a/LayerManagerCommands/src/LayerRemoveCommand.cpp b/LayerManagerCommands/src/LayerRemoveCommand.cpp index 855db0e..ceef6a7 100644 --- a/LayerManagerCommands/src/LayerRemoveCommand.cpp +++ b/LayerManagerCommands/src/LayerRemoveCommand.cpp @@ -36,13 +36,16 @@ ExecutionResult LayerRemoveCommand::execute(ICommandExecutor* executor) Layer* layer = scene.getLayer(m_idToRemove); if (layer) { - if (scene.isLayerInCurrentRenderOrder(m_idToRemove)) + if (scene.removeLayer(layer)) { IRenderer* renderer = *((executor->getRendererList())->begin()); renderer->forceCompositionWindowSystem(); + result = ExecutionSuccessRedraw; + } + else + { + result = ExecutionSuccess; } - scene.removeLayer(layer); - result = ExecutionSuccessRedraw; } return result; diff --git a/LayerManagerCommands/src/LayerRemoveSurfaceCommand.cpp b/LayerManagerCommands/src/LayerRemoveSurfaceCommand.cpp index 12f3a27..c40b9c3 100644 --- a/LayerManagerCommands/src/LayerRemoveSurfaceCommand.cpp +++ b/LayerManagerCommands/src/LayerRemoveSurfaceCommand.cpp @@ -38,8 +38,7 @@ ExecutionResult LayerRemoveSurfaceCommand::execute(ICommandExecutor* executor) if (layer && surface) { - layer->removeSurface(surface); - result = ExecutionSuccessRedraw; + result = layer->removeSurface(surface) ? ExecutionSuccessRedraw : ExecutionSuccess; } return result; diff --git a/LayerManagerCommands/src/LayerSetDestinationRectangleCommand.cpp b/LayerManagerCommands/src/LayerSetDestinationRectangleCommand.cpp index 5cff050..5f46176 100644 --- a/LayerManagerCommands/src/LayerSetDestinationRectangleCommand.cpp +++ b/LayerManagerCommands/src/LayerSetDestinationRectangleCommand.cpp @@ -42,8 +42,7 @@ ExecutionResult LayerSetDestinationRectangleCommand::execute(ICommandExecutor* e if (layer) { const Rectangle rectangle(m_x, m_y, m_width, m_height); - layer->setDestinationRegion(rectangle); - result = ExecutionSuccessRedraw; + result = layer->setDestinationRegion(rectangle) ? ExecutionSuccessRedraw : ExecutionSuccess; } return result; diff --git a/LayerManagerCommands/src/LayerSetDimensionCommand.cpp b/LayerManagerCommands/src/LayerSetDimensionCommand.cpp index 183d25b..707a4bb 100644 --- a/LayerManagerCommands/src/LayerSetDimensionCommand.cpp +++ b/LayerManagerCommands/src/LayerSetDimensionCommand.cpp @@ -38,8 +38,7 @@ ExecutionResult LayerSetDimensionCommand::execute(ICommandExecutor* executor) if (layer) { - layer->setDimension(m_width, m_height); - result = ExecutionSuccessRedraw; + result = layer->setDimension(m_width, m_height) ? ExecutionSuccessRedraw : ExecutionSuccess; } return result; diff --git a/LayerManagerCommands/src/LayerSetOpacityCommand.cpp b/LayerManagerCommands/src/LayerSetOpacityCommand.cpp index 9655fad..ca017f2 100644 --- a/LayerManagerCommands/src/LayerSetOpacityCommand.cpp +++ b/LayerManagerCommands/src/LayerSetOpacityCommand.cpp @@ -38,8 +38,7 @@ ExecutionResult LayerSetOpacityCommand::execute(ICommandExecutor* executor) if (layer) { LOG_DEBUG("LayerSetOpacityCommand","new opacity " << m_opacity << " for id: " << m_id); - layer->setOpacity(m_opacity); - result = ExecutionSuccessRedraw; + result = layer->setOpacity(m_opacity) ? ExecutionSuccessRedraw : ExecutionSuccess; } return result; diff --git a/LayerManagerCommands/src/LayerSetOrientationCommand.cpp b/LayerManagerCommands/src/LayerSetOrientationCommand.cpp index 7a31be8..8ad8d66 100644 --- a/LayerManagerCommands/src/LayerSetOrientationCommand.cpp +++ b/LayerManagerCommands/src/LayerSetOrientationCommand.cpp @@ -37,8 +37,7 @@ ExecutionResult LayerSetOrientationCommand::execute(ICommandExecutor* executor) if (layer) { - layer->setOrientation(m_orientation); - result = ExecutionSuccessRedraw; + result = layer->setOrientation(m_orientation) ? ExecutionSuccessRedraw : ExecutionSuccess; } return result; diff --git a/LayerManagerCommands/src/LayerSetPositionCommand.cpp b/LayerManagerCommands/src/LayerSetPositionCommand.cpp index 6e21a47..48c218f 100644 --- a/LayerManagerCommands/src/LayerSetPositionCommand.cpp +++ b/LayerManagerCommands/src/LayerSetPositionCommand.cpp @@ -38,8 +38,7 @@ ExecutionResult LayerSetPositionCommand::execute(ICommandExecutor* executor) if (layer) { - layer->setPosition(m_x, m_y); - result = ExecutionSuccessRedraw; + result = layer->setPosition(m_x, m_y) ? ExecutionSuccessRedraw : ExecutionSuccess; } return result; } diff --git a/LayerManagerCommands/src/LayerSetRenderOrderCommand.cpp b/LayerManagerCommands/src/LayerSetRenderOrderCommand.cpp index f97c66e..77a9b07 100644 --- a/LayerManagerCommands/src/LayerSetRenderOrderCommand.cpp +++ b/LayerManagerCommands/src/LayerSetRenderOrderCommand.cpp @@ -38,8 +38,7 @@ ExecutionResult LayerSetRenderOrderCommand::execute(ICommandExecutor* executor) if (layer) { - layer->removeAllSurfaces(); - result = ExecutionSuccessRedraw; + result = layer->removeAllSurfaces() ? ExecutionSuccessRedraw : ExecutionSuccess; for (unsigned int surfaceIndex = 0; surfaceIndex < m_length; ++surfaceIndex) { @@ -48,15 +47,14 @@ ExecutionResult LayerSetRenderOrderCommand::execute(ICommandExecutor* executor) if (surface) { unsigned int layer_id = surface->getContainingLayerId(); - if (layer_id != GraphicalObject::INVALID_ID) + if (layer->addSurface(surface)) { - LOG_WARNING("LayerSetRenderOrderCommand","surface : id [ " << m_array[surfaceIndex] << " ] already belongs to layer : id [ " << layer_id << " ]"); + LOG_DEBUG("LayerSetRenderOrderCommand","Adding surface " << surface->getID() << " to renderorder of layer " << m_layerid); + result = ExecutionSuccessRedraw; } else { - LOG_DEBUG("LayerSetRenderOrderCommand","add surface " << surface->getID() << " to renderorder of layer " << m_layerid); - layer->addSurface(surface); - result = ExecutionSuccessRedraw; + LOG_WARNING("LayerSetRenderOrderCommand","surface : id [ " << m_array[surfaceIndex] << " ] already belongs to layer : id [ " << layer_id << " ]"); } } } diff --git a/LayerManagerCommands/src/LayerSetSourceRectangleCommand.cpp b/LayerManagerCommands/src/LayerSetSourceRectangleCommand.cpp index 0a3fe4e..5045d48 100644 --- a/LayerManagerCommands/src/LayerSetSourceRectangleCommand.cpp +++ b/LayerManagerCommands/src/LayerSetSourceRectangleCommand.cpp @@ -41,8 +41,7 @@ ExecutionResult LayerSetSourceRectangleCommand::execute(ICommandExecutor* execut if (layer) { const Rectangle rectangle(m_x, m_y, m_width, m_height); - layer->setSourceRegion(rectangle); - result = ExecutionSuccessRedraw; + result = layer->setSourceRegion(rectangle) ? ExecutionSuccessRedraw : ExecutionSuccess; } return result; diff --git a/LayerManagerCommands/src/LayerSetTypeCommand.cpp b/LayerManagerCommands/src/LayerSetTypeCommand.cpp index fd30471..403dd5d 100644 --- a/LayerManagerCommands/src/LayerSetTypeCommand.cpp +++ b/LayerManagerCommands/src/LayerSetTypeCommand.cpp @@ -40,8 +40,7 @@ ExecutionResult LayerSetTypeCommand::execute(ICommandExecutor* executor) if (layer) { LOG_DEBUG("LayerSetTypeCommand", "setting type: " << m_layerType << " of layer id " << m_idtoSet); - layer->setLayerType(m_layerType); - result = ExecutionSuccessRedraw; + result = layer->setLayerType(m_layerType) ? ExecutionSuccessRedraw : ExecutionSuccess; } return result; diff --git a/LayerManagerCommands/src/LayerSetVisibilityCommand.cpp b/LayerManagerCommands/src/LayerSetVisibilityCommand.cpp index 0a82749..00cf53a 100644 --- a/LayerManagerCommands/src/LayerSetVisibilityCommand.cpp +++ b/LayerManagerCommands/src/LayerSetVisibilityCommand.cpp @@ -38,8 +38,7 @@ ExecutionResult LayerSetVisibilityCommand::execute(ICommandExecutor* executor) if (layer) { LOG_DEBUG("LayerSetVisibilityCommand", "setting visibility: " << m_visibility << " of id " << m_idtoSet); - layer->setVisibility(m_visibility); - result = ExecutionSuccessRedraw; + result = layer->setVisibility(m_visibility) ? ExecutionSuccessRedraw : ExecutionSuccess; } return result; diff --git a/LayerManagerCommands/src/LayergroupSetOpacityCommand.cpp b/LayerManagerCommands/src/LayergroupSetOpacityCommand.cpp index 26e955c..0e111b1 100644 --- a/LayerManagerCommands/src/LayergroupSetOpacityCommand.cpp +++ b/LayerManagerCommands/src/LayergroupSetOpacityCommand.cpp @@ -38,8 +38,7 @@ ExecutionResult LayergroupSetOpacityCommand::execute(ICommandExecutor* executor) if (layergroup) { LOG_DEBUG("LayergroupSetOpacityCommand","new opacity " << m_opacity << " for id: " << m_id); - layergroup->setOpacity(m_opacity); - result = ExecutionSuccessRedraw; + result = layergroup->setOpacity(m_opacity) ? ExecutionSuccessRedraw : ExecutionSuccess; } return result; diff --git a/LayerManagerCommands/src/LayergroupSetVisibilityCommand.cpp b/LayerManagerCommands/src/LayergroupSetVisibilityCommand.cpp index bc60ef6..0cfde2f 100644 --- a/LayerManagerCommands/src/LayergroupSetVisibilityCommand.cpp +++ b/LayerManagerCommands/src/LayergroupSetVisibilityCommand.cpp @@ -38,8 +38,7 @@ ExecutionResult LayergroupSetVisibilityCommand::execute(ICommandExecutor* execut if (layergroup) { LOG_DEBUG("LayergroupSetVisibilityCommand", "setting visibility: " << m_visibility << " of id " << m_idtoSet); - layergroup->setVisibility(m_visibility); - result = ExecutionSuccessRedraw; + result = layergroup->setVisibility(m_visibility) ? ExecutionSuccessRedraw : ExecutionSuccess; } return result; diff --git a/LayerManagerCommands/src/ScreenSetRenderOrderCommand.cpp b/LayerManagerCommands/src/ScreenSetRenderOrderCommand.cpp index f5d87d7..864de3d 100644 --- a/LayerManagerCommands/src/ScreenSetRenderOrderCommand.cpp +++ b/LayerManagerCommands/src/ScreenSetRenderOrderCommand.cpp @@ -31,7 +31,6 @@ ExecutionResult ScreenSetRenderOrderCommand::execute(ICommandExecutor* executor) { Scene& scene = *(executor->getScene()); ExecutionResult result = ExecutionFailed; - IRenderer* renderer = *((executor->getRendererList())->begin()); // check for doubles for (unsigned int i = 0; i < m_length; i++) @@ -56,9 +55,14 @@ ExecutionResult ScreenSetRenderOrderCommand::execute(ICommandExecutor* executor) // return false; // } // TODO insert again later + if (scene.getCurrentRenderOrder().size() != 0) + { + IRenderer* renderer = *((executor->getRendererList())->begin()); + renderer->forceCompositionWindowSystem(); + result = ExecutionSuccessRedraw; + } + scene.getCurrentRenderOrder().clear(); - result = ExecutionSuccessRedraw; - renderer->forceCompositionWindowSystem(); LOG_DEBUG("ScreenSetRenderOrderCommand", "Length to set: " << m_length); @@ -73,6 +77,7 @@ ExecutionResult ScreenSetRenderOrderCommand::execute(ICommandExecutor* executor) result = ExecutionSuccessRedraw; } } + return result; } diff --git a/LayerManagerCommands/src/ShaderDestroyCommand.cpp b/LayerManagerCommands/src/ShaderDestroyCommand.cpp index f234fdf..24d2460 100644 --- a/LayerManagerCommands/src/ShaderDestroyCommand.cpp +++ b/LayerManagerCommands/src/ShaderDestroyCommand.cpp @@ -31,6 +31,7 @@ ExecutionResult ShaderDestroyCommand::execute(ICommandExecutor* executor) { Scene& scene = *(executor->getScene()); ShaderMap& shaderMap = scene.m_shaderMap; + ExecutionResult result = ExecutionFailed; // get shader by its ID ShaderMapIterator iter = shaderMap.find(m_id); @@ -48,10 +49,10 @@ ExecutionResult ShaderDestroyCommand::execute(ICommandExecutor* executor) if (shader) { const SurfaceMap& surfaceMap = scene.getAllSurfaces(); - removeShaderFromAllSurfaces(surfaceMap, shader); + result = removeShaderFromAllSurfaces(surfaceMap, shader) ? ExecutionSuccessRedraw : ExecutionSuccess; const LayerMap& layerMap = scene.getAllLayers(); - removeShaderFromAllLayers(layerMap, shader); + result = removeShaderFromAllLayers(layerMap, shader) ? ExecutionSuccessRedraw : result; // remove shader from global shader list scene.m_shaderMap.erase(iter); @@ -60,12 +61,13 @@ ExecutionResult ShaderDestroyCommand::execute(ICommandExecutor* executor) delete shader; } - return ExecutionSuccessRedraw; + return result; } /// detach shader from all surfaces, surface groups, etc... from surfaces -void ShaderDestroyCommand::removeShaderFromAllSurfaces(const SurfaceMap & surfaceMap, Shader* shader) +bool ShaderDestroyCommand::removeShaderFromAllSurfaces(const SurfaceMap & surfaceMap, Shader* shader) { + bool result = false; SurfaceMapConstIterator iter = surfaceMap.begin(); SurfaceMapConstIterator iterEnd = surfaceMap.end(); for (; iter != iterEnd; ++iter) @@ -75,12 +77,16 @@ void ShaderDestroyCommand::removeShaderFromAllSurfaces(const SurfaceMap & surfac if (obj && obj->getShader() == shader) { obj->setShader(NULL); + result = true; } } + + return result; } -void ShaderDestroyCommand::removeShaderFromAllLayers(const LayerMap & layerMap, Shader *& shader) +bool ShaderDestroyCommand::removeShaderFromAllLayers(const LayerMap & layerMap, Shader *& shader) { + bool result = false; LayerMapConstIterator iter = layerMap.begin(); LayerMapConstIterator iterEnd = layerMap.end(); for (; iter != iterEnd; ++iter) @@ -90,8 +96,11 @@ void ShaderDestroyCommand::removeShaderFromAllLayers(const LayerMap & layerMap, if (obj && obj->getShader()==shader) { obj->setShader(NULL); + result = true; } } + + return result; } unsigned int ShaderDestroyCommand::getShaderID() const diff --git a/LayerManagerCommands/src/SurfaceRemoveCommand.cpp b/LayerManagerCommands/src/SurfaceRemoveCommand.cpp index 98624f1..a0b3f4d 100644 --- a/LayerManagerCommands/src/SurfaceRemoveCommand.cpp +++ b/LayerManagerCommands/src/SurfaceRemoveCommand.cpp @@ -33,12 +33,11 @@ ExecutionResult SurfaceRemoveCommand::execute(ICommandExecutor* executor) ExecutionResult result = ExecutionFailed; - Surface* surface = scene.getSurface(m_idToRemove); - if (surface) - { - scene.removeSurface(surface); - result = ExecutionSuccessRedraw; - } + Surface* surface = scene.getSurface(m_idToRemove); + if (surface) + { + result = scene.removeSurface(surface) ? ExecutionSuccessRedraw : ExecutionSuccess; + } return result; } diff --git a/LayerManagerCommands/src/SurfaceSetDestinationRectangleCommand.cpp b/LayerManagerCommands/src/SurfaceSetDestinationRectangleCommand.cpp index 9db666a..dc0191a 100644 --- a/LayerManagerCommands/src/SurfaceSetDestinationRectangleCommand.cpp +++ b/LayerManagerCommands/src/SurfaceSetDestinationRectangleCommand.cpp @@ -42,8 +42,7 @@ ExecutionResult SurfaceSetDestinationRectangleCommand::execute(ICommandExecutor* if (surface) { const Rectangle rectangle(m_x, m_y, m_width, m_height); - surface->setDestinationRegion(rectangle); - result = ExecutionSuccessRedraw; + result = surface->setDestinationRegion(rectangle) ? ExecutionSuccessRedraw : ExecutionSuccess; } return result; diff --git a/LayerManagerCommands/src/SurfaceSetDimensionCommand.cpp b/LayerManagerCommands/src/SurfaceSetDimensionCommand.cpp index 3dcef6c..850ef00 100644 --- a/LayerManagerCommands/src/SurfaceSetDimensionCommand.cpp +++ b/LayerManagerCommands/src/SurfaceSetDimensionCommand.cpp @@ -38,8 +38,7 @@ ExecutionResult SurfaceSetDimensionCommand::execute(ICommandExecutor* executor) if (surface) { - surface->setDimension(m_width, m_height); - result = ExecutionSuccessRedraw; + result = surface->setDimension(m_width, m_height) ? ExecutionSuccessRedraw : ExecutionSuccess; } return result; diff --git a/LayerManagerCommands/src/SurfaceSetOpacityCommand.cpp b/LayerManagerCommands/src/SurfaceSetOpacityCommand.cpp index 5e45f72..76bcb3d 100644 --- a/LayerManagerCommands/src/SurfaceSetOpacityCommand.cpp +++ b/LayerManagerCommands/src/SurfaceSetOpacityCommand.cpp @@ -38,8 +38,7 @@ ExecutionResult SurfaceSetOpacityCommand::execute(ICommandExecutor* executor) if (surface) { LOG_DEBUG("SurfaceSetOpacityCommand","new opacity " << m_opacity << " for id: " << m_id); - surface->setOpacity(m_opacity); - result = ExecutionSuccessRedraw; + result = surface->setOpacity(m_opacity) ? ExecutionSuccessRedraw : ExecutionSuccess; } return result; diff --git a/LayerManagerCommands/src/SurfaceSetOrientationCommand.cpp b/LayerManagerCommands/src/SurfaceSetOrientationCommand.cpp index 172c6fb..4f67f10 100644 --- a/LayerManagerCommands/src/SurfaceSetOrientationCommand.cpp +++ b/LayerManagerCommands/src/SurfaceSetOrientationCommand.cpp @@ -37,8 +37,7 @@ ExecutionResult SurfaceSetOrientationCommand::execute(ICommandExecutor* executor if (surface) { - surface->setOrientation(m_orientation); - result = ExecutionSuccessRedraw; + result = surface->setOrientation(m_orientation) ? ExecutionSuccessRedraw : ExecutionSuccess; } return result; diff --git a/LayerManagerCommands/src/SurfaceSetPositionCommand.cpp b/LayerManagerCommands/src/SurfaceSetPositionCommand.cpp index ce144a0..579889e 100644 --- a/LayerManagerCommands/src/SurfaceSetPositionCommand.cpp +++ b/LayerManagerCommands/src/SurfaceSetPositionCommand.cpp @@ -38,8 +38,7 @@ ExecutionResult SurfaceSetPositionCommand::execute(ICommandExecutor* executor) if (surface) { - surface->setPosition(m_x, m_y); - result = ExecutionSuccessRedraw; + result = surface->setPosition(m_x, m_y) ? ExecutionSuccessRedraw : ExecutionSuccess; } return result; } diff --git a/LayerManagerCommands/src/SurfaceSetShaderCommand.cpp b/LayerManagerCommands/src/SurfaceSetShaderCommand.cpp index ea1068e..5989476 100644 --- a/LayerManagerCommands/src/SurfaceSetShaderCommand.cpp +++ b/LayerManagerCommands/src/SurfaceSetShaderCommand.cpp @@ -64,8 +64,7 @@ ExecutionResult SurfaceSetShaderCommand::execute(ICommandExecutor* executor) // shaderId==0 detaches the custom shader // (shader is supposed to be NULL in this case) - object->setShader(shader); - result = ExecutionSuccessRedraw; + result = object->setShader(shader) ? ExecutionSuccessRedraw : ExecutionSuccess; } else { diff --git a/LayerManagerCommands/src/SurfaceSetSourceRectangleCommand.cpp b/LayerManagerCommands/src/SurfaceSetSourceRectangleCommand.cpp index 24b4cbb..1472992 100644 --- a/LayerManagerCommands/src/SurfaceSetSourceRectangleCommand.cpp +++ b/LayerManagerCommands/src/SurfaceSetSourceRectangleCommand.cpp @@ -41,8 +41,7 @@ ExecutionResult SurfaceSetSourceRectangleCommand::execute(ICommandExecutor* exec if (surface) { const Rectangle rectangle(m_x, m_y, m_width, m_height); - surface->setSourceRegion(rectangle); - result = ExecutionSuccessRedraw; + result = surface->setSourceRegion(rectangle) ? ExecutionSuccessRedraw : ExecutionSuccess; } return result; diff --git a/LayerManagerCommands/src/SurfaceSetVisibilityCommand.cpp b/LayerManagerCommands/src/SurfaceSetVisibilityCommand.cpp index 7ef15eb..784d95f 100644 --- a/LayerManagerCommands/src/SurfaceSetVisibilityCommand.cpp +++ b/LayerManagerCommands/src/SurfaceSetVisibilityCommand.cpp @@ -38,8 +38,7 @@ ExecutionResult SurfaceSetVisibilityCommand::execute(ICommandExecutor* executor) if (surface) { LOG_DEBUG("SurfaceSetVisibilityCommand", "setting visibility: " << m_visibility << " of id " << m_idtoSet); - surface->setVisibility(m_visibility); - result = ExecutionSuccessRedraw; + result = surface->setVisibility(m_visibility) ? ExecutionSuccessRedraw : ExecutionSuccess; } return result; diff --git a/LayerManagerCommands/src/SurfacegroupSetOpacityCommand.cpp b/LayerManagerCommands/src/SurfacegroupSetOpacityCommand.cpp index 7f4e065..53974c1 100644 --- a/LayerManagerCommands/src/SurfacegroupSetOpacityCommand.cpp +++ b/LayerManagerCommands/src/SurfacegroupSetOpacityCommand.cpp @@ -38,8 +38,7 @@ ExecutionResult SurfacegroupSetOpacityCommand::execute(ICommandExecutor* executo if (surfacegroup) { LOG_DEBUG("SurfacegroupSetOpacityCommand","new opacity " << m_opacity << " for id: " << m_id); - surfacegroup->setOpacity(m_opacity); - result = ExecutionSuccessRedraw; + result = surfacegroup->setOpacity(m_opacity) ? ExecutionSuccessRedraw : ExecutionSuccess; } return result; diff --git a/LayerManagerCommands/src/SurfacegroupSetVisibilityCommand.cpp b/LayerManagerCommands/src/SurfacegroupSetVisibilityCommand.cpp index a0bc152..72ae92e 100644 --- a/LayerManagerCommands/src/SurfacegroupSetVisibilityCommand.cpp +++ b/LayerManagerCommands/src/SurfacegroupSetVisibilityCommand.cpp @@ -38,8 +38,7 @@ ExecutionResult SurfacegroupSetVisibilityCommand::execute(ICommandExecutor* exec if (surfacegroup) { LOG_DEBUG("SurfacegroupSetVisibilityCommand", "setting visibility: " << m_visibility << " of id " << m_idtoSet); - surfacegroup->setVisibility(m_visibility); - result = ExecutionSuccessRedraw; + result = surfacegroup->setVisibility(m_visibility) ? ExecutionSuccessRedraw : ExecutionSuccess; } return result; |