diff options
author | Matt Ebb <matt@mke3.net> | 2010-01-09 03:16:35 +0300 |
---|---|---|
committer | Matt Ebb <matt@mke3.net> | 2010-01-09 03:16:35 +0300 |
commit | 04dec46c6a252a401a23c06ece2552f64cfc5892 (patch) | |
tree | d481504bf0db87f68869f1ffe23c61b7bf20b62c /source/blender/editors/sculpt_paint | |
parent | e62e66fe8af97cb02ae69d6745bc7cc2daa6cb22 (diff) |
Color management fixes
Now it's a bit more robust, tagging images with profiles when they're loaded,
which then get interpreted later on by conversion functions. Just Linear RGB
and sRGB profiles at the moment, same as before.
This commit fixes Martin's problem with EXRs and Multilayer images loading/
saving too dark, and it also makes the sequence editor work correctly with it too.
Also fixes:
[#19647] gamma correction with color management is reset when resetting Curve
[#19454] 2.5: Dither does not work when Color management is enabled
Diffstat (limited to 'source/blender/editors/sculpt_paint')
-rw-r--r-- | source/blender/editors/sculpt_paint/paint_image.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/source/blender/editors/sculpt_paint/paint_image.c b/source/blender/editors/sculpt_paint/paint_image.c index 2c80a7095e2..77e90e3c7b1 100644 --- a/source/blender/editors/sculpt_paint/paint_image.c +++ b/source/blender/editors/sculpt_paint/paint_image.c @@ -4081,10 +4081,17 @@ static int imapaint_canvas_set(ImagePaintState *s, Image *ima) s->clonecanvas= ibuf; + /* temporarily add float rect for cloning */ if(s->canvas->rect_float && !s->clonecanvas->rect_float) { - /* temporarily add float rect for cloning */ + int profile = IB_PROFILE_NONE; + + /* Don't want to color manage, but don't disturb existing profiles */ + SWAP(int, s->clonecanvas->profile, profile); + IMB_float_from_rect(s->clonecanvas); s->clonefreefloat= 1; + + SWAP(int, s->clonecanvas->profile, profile); } else if(!s->canvas->rect_float && !s->clonecanvas->rect) IMB_rect_from_float(s->clonecanvas); |