- // BlurRadius added by this action. Regist property to renderer.
- mBlurRadiusIndex = mImpl->mRenderer.RegisterUniqueProperty(DevelColorVisual::Property::BLUR_RADIUS, BLUR_RADIUS_NAME, mBlurRadius);
- mImpl->mRenderer.SetProperty(Renderer::Property::BLEND_MODE, BlendMode::ON);
-
- // Change the shader must not be occured many times. we always have to use blur feature.
- mAlwaysUsingBlurRadius = true;
-
- // Change shader
- UpdateShader();
+ // Check whether we must update shader.
+ if(!mAlwaysUsingBlurRadius && IsBlurRequired())
+ {
+ // Change the shader must not be occured many times. we always have to use blur feature.
+ mAlwaysUsingBlurRadius = true;
+
+ mImpl->mRenderer.SetProperty(Renderer::Property::BLEND_MODE, BlendMode::ON);
+ // Change shader
+ if(!mImpl->mCustomShader)
+ {
+ UpdateShader();
+ }
+ }