Fix T90772: Image Editor not sampling color from the the currently

selected pass

Caused by {rBebaa3fcedd23}.

Seems this above commit assumed an ImageUser's multi_index is only used
for Multiview/Stereo? This is not the case, multi_index also stores the
index for layer/pass combination.

If we call both BKE_image_multilayer_index and BKE_image_multiview_index
(even though this is not appropriate/needed for multilayer images?), we
might end up overwriting multi_index again.

note: looking at this I was also wondering why we update the ImageUser
in image-buffer-aquiring funnctions [and not from the UI, e.g.
template_image_layers, but that is a whole different story I guess, see
comment in T90772 as well]

note2: this could also use a utility function (this is not the only
place where this is done), this is fo a cleanup commit.

Maniphest Tasks: T90772

Differential Revision: https://developer.blender.org/D12267
This commit is contained in:
Philipp Oeser 2021-08-19 14:03:48 +02:00
parent 8165333de9
commit 5aa3167e48
Notes: blender-bot 2023-02-14 10:48:33 +01:00
Referenced by commit a5b996df88, Fix T92608: Image Editor does not display stereo images
Referenced by issue #88449: Blender LTS: Maintenance Task 2.93
Referenced by issue #88449, Blender LTS: Maintenance Task 2.93
Referenced by issue #92608, Image Editor doesn't display stereoscopic images
Referenced by issue #90772, Image Editor not sampling color from the the currently selected pass
1 changed files with 3 additions and 1 deletions

View File

@ -111,7 +111,9 @@ static void space_image_gpu_texture_get(Image *image,
/* Update multi-index and pass for the current eye. */
BKE_image_multilayer_index(image->rr, &sima->iuser);
}
BKE_image_multiview_index(image, &sima->iuser);
else {
BKE_image_multiview_index(image, &sima->iuser);
}
if (ibuf) {
const int sima_flag = sima->flag & ED_space_image_get_display_channel_mask(ibuf);