diff options
author | Jeroen Bakker <j.bakker@atmind.nl> | 2012-07-19 21:28:37 +0400 |
---|---|---|
committer | Jeroen Bakker <j.bakker@atmind.nl> | 2012-07-19 21:28:37 +0400 |
commit | 579a4a02a54da01a4af98e831f4feb87fba72392 (patch) | |
tree | f76ce8079a2c5495ce40c47aecd8c48cab6a6c7e /source/blender/compositor/operations/COM_MaskOperation.cpp | |
parent | 2557eaf0dd33e3139cc6188b97029207686360bf (diff) |
Possible fix for [#32141] Crash when using a mask as the factor input
for a color combine (mix) node with render resolution at 100%
Seems to be that the MaskNode has been created as a complex node. But no
complex features were used. Converted the execute pixel to simple
execution. And it sees that the crash does not happen.
Not sure if it is the issue is solved. I am going to let the user retest
with this revision.
Diffstat (limited to 'source/blender/compositor/operations/COM_MaskOperation.cpp')
-rw-r--r-- | source/blender/compositor/operations/COM_MaskOperation.cpp | 14 |
1 files changed, 1 insertions, 13 deletions
diff --git a/source/blender/compositor/operations/COM_MaskOperation.cpp b/source/blender/compositor/operations/COM_MaskOperation.cpp index 057a749080a..c648f3e6f08 100644 --- a/source/blender/compositor/operations/COM_MaskOperation.cpp +++ b/source/blender/compositor/operations/COM_MaskOperation.cpp @@ -30,7 +30,6 @@ #include "DNA_scene_types.h" - #ifdef USE_RASKTER extern "C" { @@ -140,13 +139,10 @@ MaskOperation::MaskOperation() : NodeOperation() this->m_maskHeight = 0; this->m_framenumber = 0; this->m_rasterMaskHandle = NULL; - setComplex(true); } void MaskOperation::initExecution() { - initMutex(); - if (this->m_mask) { if (this->m_rasterMaskHandle == NULL) { const int width = this->getWidth(); @@ -165,14 +161,6 @@ void MaskOperation::deinitExecution() BKE_maskrasterize_handle_free(this->m_rasterMaskHandle); this->m_rasterMaskHandle = NULL; } - - deinitMutex(); -} - -void *MaskOperation::initializeTileData(rcti *rect) -{ - /* pass */ - return NULL; } void MaskOperation::determineResolution(unsigned int resolution[], unsigned int preferredResolution[]) @@ -193,7 +181,7 @@ void MaskOperation::determineResolution(unsigned int resolution[], unsigned int } } -void MaskOperation::executePixel(float *color, int x, int y, void *data) +void MaskOperation::executePixel(float *color, float x, float y, PixelSampler sampler) { const float xy[2] = {x / (float)this->m_maskWidth, y / (float)this->m_maskHeight}; if (this->m_rasterMaskHandle) { |