diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2014-03-18 16:54:41 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2014-03-19 09:02:29 +0400 |
commit | 19e627cab34a04a3d01b2e3a868b7bf91d56e8f9 (patch) | |
tree | 2b01e4e108bebcf0954bb58fe734a65bc514e279 /source/blender/editors | |
parent | 2525f9c5f31e90bcb8f2e8c84558a2bc35e3207c (diff) |
Backport revisions for the final 2.70 releasev2.70
e6a359a, 9437927, a205700, d908c90, a6e3471, deef641,
4080673, 0141265, 0c6e744, f959e3d, ade6646, caf5d90,
5febb09, d08e6ab, 22873ea, 3d031d1, c450ea2, 60cab47,
ed26edb, df25dbf, f127f49.
Diffstat (limited to 'source/blender/editors')
7 files changed, 32 insertions, 8 deletions
diff --git a/source/blender/editors/interface/interface_handlers.c b/source/blender/editors/interface/interface_handlers.c index 079b64f852c..f1c0df23fc9 100644 --- a/source/blender/editors/interface/interface_handlers.c +++ b/source/blender/editors/interface/interface_handlers.c @@ -2911,7 +2911,7 @@ static uiBut *ui_but_list_row_text_activate(bContext *C, uiBut *but, uiHandleBut ARegion *ar = CTX_wm_region(C); uiBut *labelbut = ui_but_find_mouse_over_ex(ar, event->x, event->y, true); - if (labelbut && labelbut->type == TEX) { + if (labelbut && labelbut->type == TEX && !(labelbut->flag & UI_BUT_DISABLED)) { /* exit listrow */ data->cancel = true; button_activate_exit(C, but, data, false, false); diff --git a/source/blender/editors/interface/interface_regions.c b/source/blender/editors/interface/interface_regions.c index 3d7492c9753..7d0fc858180 100644 --- a/source/blender/editors/interface/interface_regions.c +++ b/source/blender/editors/interface/interface_regions.c @@ -1901,6 +1901,9 @@ static void uiBlockPicker(uiBlock *block, float rgba[4], PointerRNA *ptr, Proper case USER_CP_SQUARE_HV: square_picker(block, ptr, prop, UI_GRAD_HV); break; + default: + circle_picker(block, ptr, prop); + break; } /* mode */ diff --git a/source/blender/editors/interface/interface_templates.c b/source/blender/editors/interface/interface_templates.c index dcfb2e5cfbc..d04a67baa50 100644 --- a/source/blender/editors/interface/interface_templates.c +++ b/source/blender/editors/interface/interface_templates.c @@ -2254,6 +2254,11 @@ void uiTemplateColorPicker(uiLayout *layout, PointerRNA *ptr, const char *propna but = uiDefButR_prop(block, HSVCUBE, 0, "", 0, 0, WHEEL_SIZE, WHEEL_SIZE, ptr, prop, -1, 0.0, 0.0, UI_GRAD_HV, 0, ""); break; + default: + but = uiDefButR_prop(block, HSVCIRCLE, 0, "", 0, 0, WHEEL_SIZE, WHEEL_SIZE, ptr, prop, + -1, 0.0, 0.0, 0, 0, ""); + break; + } if (lock) { @@ -2293,6 +2298,11 @@ void uiTemplateColorPicker(uiLayout *layout, PointerRNA *ptr, const char *propna uiDefButR_prop(block, HSVCUBE, 0, "", 0, 4, WHEEL_SIZE, 18, ptr, prop, -1, softmin, softmax, UI_GRAD_HV + 3, 0, ""); break; + default: + uiItemS(row); + uiDefButR_prop(block, HSVCUBE, 0, "", WHEEL_SIZE + 6, 0, 14, WHEEL_SIZE, ptr, prop, + -1, softmin, softmax, UI_GRAD_V_ALT, 0, ""); + break; } } } diff --git a/source/blender/editors/render/render_internal.c b/source/blender/editors/render/render_internal.c index 35f17ec22af..eae15e7766d 100644 --- a/source/blender/editors/render/render_internal.c +++ b/source/blender/editors/render/render_internal.c @@ -131,7 +131,12 @@ static void image_buffer_rect_update(RenderJob *rj, RenderResult *rr, ImBuf *ibu ColorManagedViewSettings *view_settings; ColorManagedDisplaySettings *display_settings; - if (ibuf->userflags & IB_DISPLAY_BUFFER_INVALID) { + /* Exception for exr tiles -- display buffer conversion happens here, + * NOT in the color management pipeline. + */ + if (ibuf->userflags & IB_DISPLAY_BUFFER_INVALID && + rr->do_exr_tile == false) + { /* The whole image buffer it so be color managed again anyway. */ return; } diff --git a/source/blender/editors/space_sequencer/sequencer_edit.c b/source/blender/editors/space_sequencer/sequencer_edit.c index 0a37496c88a..1464d39ff23 100644 --- a/source/blender/editors/space_sequencer/sequencer_edit.c +++ b/source/blender/editors/space_sequencer/sequencer_edit.c @@ -1,5 +1,5 @@ /* - * ***** BEGIN GPL LICENSE BLOCK ***** + * ***** begin GPL LICENSE BLOCK ***** * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -1901,6 +1901,8 @@ static int sequencer_separate_images_exec(bContext *C, wmOperator *op) while (seq) { if ((seq->flag & SELECT) && (seq->type == SEQ_TYPE_IMAGE) && (seq->len > 1)) { + Sequence *seq_next; + /* remove seq so overlap tests don't conflict, * see seq_free_sequence below for the real free'ing */ BLI_remlink(ed->seqbasep, seq); @@ -1944,8 +1946,9 @@ static int sequencer_separate_images_exec(bContext *C, wmOperator *op) start_ofs += step; } + seq_next = seq->next; BKE_sequence_free(scene, seq); - seq = seq->next; + seq = seq_next; } else { seq = seq->next; diff --git a/source/blender/editors/space_view3d/view3d_edit.c b/source/blender/editors/space_view3d/view3d_edit.c index 55950579637..ea81bb2b857 100644 --- a/source/blender/editors/space_view3d/view3d_edit.c +++ b/source/blender/editors/space_view3d/view3d_edit.c @@ -1049,6 +1049,7 @@ static int viewrotate_modal(bContext *C, wmOperator *op, const wmEvent *event) static void view3d_ensure_persp(struct View3D *v3d, ARegion *ar) { RegionView3D *rv3d = ar->regiondata; + const bool autopersp = (U.uiflag & USER_AUTOPERSP) != 0; BLI_assert((rv3d->viewlock & RV3D_LOCKED) == 0); @@ -1057,9 +1058,11 @@ static void view3d_ensure_persp(struct View3D *v3d, ARegion *ar) if (rv3d->persp != RV3D_PERSP) { if (rv3d->persp == RV3D_CAMOB) { - view3d_persp_switch_from_camera(v3d, rv3d, rv3d->lpersp); + /* If autopersp and previous view was an axis one, switch back to PERSP mode, else reuse previous mode. */ + char persp = (autopersp && RV3D_VIEW_IS_AXIS(rv3d->lview)) ? RV3D_PERSP : rv3d->lpersp; + view3d_persp_switch_from_camera(v3d, rv3d, persp); } - else if ((U.uiflag & USER_AUTOPERSP) && RV3D_VIEW_IS_AXIS(rv3d->view)) { + else if (autopersp && RV3D_VIEW_IS_AXIS(rv3d->view)) { rv3d->persp = RV3D_PERSP; } } diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c index 8dc0c6ddaa8..bb0a74f1e09 100644 --- a/source/blender/editors/transform/transform_conversions.c +++ b/source/blender/editors/transform/transform_conversions.c @@ -6588,7 +6588,7 @@ static void MaskPointToTransData(Scene *scene, MaskSplinePoint *point, td->flag = 0; td->loc = td2d->loc; - copy_v3_v3(td->center, bezt->vec[1]); + mul_v2_m3v2(td->center, parent_matrix, bezt->vec[1]); copy_v3_v3(td->iloc, td->loc); memset(td->axismtx, 0, sizeof(td->axismtx)); @@ -6636,7 +6636,7 @@ static void MaskPointToTransData(Scene *scene, MaskSplinePoint *point, td->flag = 0; td->loc = td2d->loc; - copy_v3_v3(td->center, bezt->vec[1]); + mul_v2_m3v2(td->center, parent_matrix, bezt->vec[1]); copy_v3_v3(td->iloc, td->loc); memset(td->axismtx, 0, sizeof(td->axismtx)); |