Fix #33402: Compositor crashes when drag-dropping multilayer exr

There was a missing image reload signal in node creation by drag-dropping,
which lead to incorrectly set image type.

Also fixed misusage of IMB_freeImBuf used to release buffer acquired by
BKE_image_acquire_ibuf.
This commit is contained in:
Sergey Sharybin 2012-12-04 08:10:53 +00:00
parent a9d889cba4
commit 89d91f5a7d
2 changed files with 4 additions and 1 deletions

@ -109,7 +109,7 @@ void BaseImageOperation::determineResolution(unsigned int resolution[2], unsigne
resolution[1] = stackbuf->y;
}
IMB_freeImBuf(stackbuf);
BKE_image_release_ibuf(this->m_image, stackbuf, NULL);
}
void ImageOperation::executePixel(float output[4], float x, float y, PixelSampler sampler)

@ -386,6 +386,9 @@ static int node_add_file_exec(bContext *C, wmOperator *op)
node->id = (ID *)ima;
id_us_plus(node->id);
BKE_image_signal(ima, NULL, IMA_SIGNAL_RELOAD);
WM_event_add_notifier(C, NC_IMAGE | NA_EDITED, ima);
snode_notify(C, snode);
snode_dag_update(C, snode);