diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2010-10-02 23:31:58 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2010-10-02 23:31:58 +0400 |
commit | 77b75e23ba87122c78a361011e3fd09202ef85d8 (patch) | |
tree | 175b1246912fe300c1a5e2079995a370ec39da4b | |
parent | a6e78239424fa735fd71dd03a4c9501aa6635d9a (diff) |
Fix #22348: disabled image editor curves on non-float images, this never
worked correct, only got enabled accidentally in 2.5 port.
-rw-r--r-- | source/blender/editors/space_image/image_buttons.c | 9 | ||||
-rw-r--r-- | source/blender/editors/space_image/image_ops.c | 6 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_space.c | 3 |
3 files changed, 14 insertions, 4 deletions
diff --git a/source/blender/editors/space_image/image_buttons.c b/source/blender/editors/space_image/image_buttons.c index 9871b75fa42..840d4943c56 100644 --- a/source/blender/editors/space_image/image_buttons.c +++ b/source/blender/editors/space_image/image_buttons.c @@ -303,8 +303,15 @@ static void image_editvertex_buts(const bContext *C, uiBlock *block) static int image_panel_poll(const bContext *C, PanelType *pt) { SpaceImage *sima= CTX_wm_space_image(C); + ImBuf *ibuf; + void *lock; + int result; + + ibuf= ED_space_image_acquire_buffer(sima, &lock); + result= ibuf && ibuf->rect_float; + ED_space_image_release_buffer(sima, lock); - return ED_space_image_has_buffer(sima); + return result; } static void image_panel_curves(const bContext *C, Panel *pa) diff --git a/source/blender/editors/space_image/image_ops.c b/source/blender/editors/space_image/image_ops.c index df11d082c93..0bcc2439756 100644 --- a/source/blender/editors/space_image/image_ops.c +++ b/source/blender/editors/space_image/image_ops.c @@ -1656,11 +1656,13 @@ static void sample_apply(bContext *C, wmOperator *op, wmEvent *event) if(point == 1) { curvemapping_set_black_white(sima->cumap, NULL, info->colfp); - curvemapping_do_ibuf(sima->cumap, ibuf); + if(ibuf->rect_float) + curvemapping_do_ibuf(sima->cumap, ibuf); } else if(point == 0) { curvemapping_set_black_white(sima->cumap, info->colfp, NULL); - curvemapping_do_ibuf(sima->cumap, ibuf); + if(ibuf->rect_float) + curvemapping_do_ibuf(sima->cumap, ibuf); } } } diff --git a/source/blender/makesrna/intern/rna_space.c b/source/blender/makesrna/intern/rna_space.c index 9d98dd7bacf..d4dec9277a1 100644 --- a/source/blender/makesrna/intern/rna_space.c +++ b/source/blender/makesrna/intern/rna_space.c @@ -477,7 +477,8 @@ static void rna_SpaceImageEditor_curves_update(Main *bmain, Scene *scene, Pointe void *lock; ibuf= ED_space_image_acquire_buffer(sima, &lock); - curvemapping_do_ibuf(sima->cumap, ibuf); + if(ibuf->rect_float) + curvemapping_do_ibuf(sima->cumap, ibuf); ED_space_image_release_buffer(sima, lock); WM_main_add_notifier(NC_IMAGE, sima->image); |