[Bf-blender-cvs] [9b3c9ab61a4] blender-v2.82-release: Fix T53178: Casting in Blur node with Relative
mano-wii
noreply at git.blender.org
Fri Jan 17 03:33:20 CET 2020
Commit: 9b3c9ab61a4feefc0b2ad2cc9227b81cfe5446d5
Author: mano-wii
Date: Thu Jan 16 23:32:45 2020 -0300
Branches: blender-v2.82-release
https://developer.blender.org/rB9b3c9ab61a4feefc0b2ad2cc9227b81cfe5446d5
Fix T53178: Casting in Blur node with Relative
In this case the user expects rounding.
===================================================================
M source/blender/compositor/operations/COM_BlurBaseOperation.cpp
===================================================================
diff --git a/source/blender/compositor/operations/COM_BlurBaseOperation.cpp b/source/blender/compositor/operations/COM_BlurBaseOperation.cpp
index 1b2e3b2821e..24c68ddbec7 100644
--- a/source/blender/compositor/operations/COM_BlurBaseOperation.cpp
+++ b/source/blender/compositor/operations/COM_BlurBaseOperation.cpp
@@ -44,20 +44,22 @@ void BlurBaseOperation::initExecution()
this->m_data.image_in_width = this->getWidth();
this->m_data.image_in_height = this->getHeight();
if (this->m_data.relative) {
+ int sizex, sizey;
switch (this->m_data.aspect) {
- case CMP_NODE_BLUR_ASPECT_NONE:
- this->m_data.sizex = (int)(this->m_data.percentx * 0.01f * this->m_data.image_in_width);
- this->m_data.sizey = (int)(this->m_data.percenty * 0.01f * this->m_data.image_in_height);
- break;
case CMP_NODE_BLUR_ASPECT_Y:
- this->m_data.sizex = (int)(this->m_data.percentx * 0.01f * this->m_data.image_in_width);
- this->m_data.sizey = (int)(this->m_data.percenty * 0.01f * this->m_data.image_in_width);
+ sizex = sizey = this->m_data.image_in_width;
break;
case CMP_NODE_BLUR_ASPECT_X:
- this->m_data.sizex = (int)(this->m_data.percentx * 0.01f * this->m_data.image_in_height);
- this->m_data.sizey = (int)(this->m_data.percenty * 0.01f * this->m_data.image_in_height);
+ sizex = sizey = this->m_data.image_in_height;
+ break;
+ default:
+ BLI_assert(this->m_data.aspect == CMP_NODE_BLUR_ASPECT_NONE);
+ sizex = this->m_data.image_in_width;
+ sizey = this->m_data.image_in_height;
break;
}
+ this->m_data.sizex = round_fl_to_int(this->m_data.percentx * 0.01f * sizex);
+ this->m_data.sizey = round_fl_to_int(this->m_data.percenty * 0.01f * sizey);
}
QualityStepHelper::initExecution(COM_QH_MULTIPLY);
More information about the Bf-blender-cvs
mailing list