From 5e65791516b6e7c3ad22c7a46070c3fe34999f29 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 9 Feb 2018 11:58:19 +1100 Subject: [PATCH 1/3] Fix T53347: Vertex paint crash Vertex paint was still using sculpt mode brush (which can be NULL). --- source/blender/editors/sculpt_paint/sculpt.c | 24 +++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/source/blender/editors/sculpt_paint/sculpt.c b/source/blender/editors/sculpt_paint/sculpt.c index 696267a0e8e..d631a23bee0 100644 --- a/source/blender/editors/sculpt_paint/sculpt.c +++ b/source/blender/editors/sculpt_paint/sculpt.c @@ -4591,16 +4591,15 @@ static bool sculpt_any_smooth_mode(const Brush *brush, (brush->mask_tool == BRUSH_MASK_SMOOTH))); } -static void sculpt_stroke_modifiers_check(const bContext *C, Object *ob) +static void sculpt_stroke_modifiers_check(const bContext *C, Object *ob, const Brush *brush) { SculptSession *ss = ob->sculpt; if (ss->kb || ss->modifiers_active) { - Sculpt *sd = CTX_data_tool_settings(C)->sculpt; - Brush *brush = BKE_paint_brush(&sd->paint); - - BKE_sculpt_update_mesh_elements(CTX_data_scene(C), sd, ob, - sculpt_any_smooth_mode(brush, ss->cache, 0), false); + Scene *scene = CTX_data_scene(C); + Sculpt *sd = scene->toolsettings->sculpt; + bool need_pmap = sculpt_any_smooth_mode(brush, ss->cache, 0); + BKE_sculpt_update_mesh_elements(scene, sd, ob, need_pmap, false); } } @@ -4729,7 +4728,9 @@ bool sculpt_stroke_get_location(bContext *C, float out[3], const float mouse[2]) cache = ss->cache; original = (cache) ? cache->original : 0; - sculpt_stroke_modifiers_check(C, ob); + const Brush *brush = BKE_paint_brush(BKE_paint_get_active_from_context(C)); + + sculpt_stroke_modifiers_check(C, ob, brush); depth = sculpt_raycast_init(&vc, mouse, ray_start, ray_end, ray_normal, original); @@ -4755,7 +4756,6 @@ bool sculpt_stroke_get_location(bContext *C, float out[3], const float mouse[2]) } if (hit == false) { - const Brush *brush = BKE_paint_brush(BKE_paint_get_active_from_context(C)); if (ELEM(brush->falloff_shape, PAINT_FALLOFF_SHAPE_TUBE)) { SculptFindNearestToRayData srd = { .original = original, @@ -4940,7 +4940,7 @@ static void sculpt_stroke_update_step(bContext *C, struct PaintStroke *UNUSED(st SculptSession *ss = ob->sculpt; const Brush *brush = BKE_paint_brush(&sd->paint); - sculpt_stroke_modifiers_check(C, ob); + sculpt_stroke_modifiers_check(C, ob, brush); sculpt_update_cache_variants(C, sd, ob, itemptr); sculpt_restore_mesh(sd, ob); @@ -5015,7 +5015,7 @@ static void sculpt_stroke_done(const bContext *C, struct PaintStroke *UNUSED(str BLI_assert(brush == ss->cache->brush); /* const, so we shouldn't change. */ ups->draw_inverted = false; - sculpt_stroke_modifiers_check(C, ob); + sculpt_stroke_modifiers_check(C, ob, brush); /* Alt-Smooth */ if (ss->cache->alt_smooth) { @@ -5832,7 +5832,9 @@ static void sample_detail(bContext *C, int ss_co[2]) sd = CTX_data_tool_settings(C)->sculpt; ob = vc.obact; - sculpt_stroke_modifiers_check(C, ob); + Brush *brush = BKE_paint_brush(&sd->paint); + + sculpt_stroke_modifiers_check(C, ob, brush); depth = sculpt_raycast_init(&vc, mouse, ray_start, ray_end, ray_normal, false); From 8a6b83d27e4f88d44806287efaf2011389017e73 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 9 Feb 2018 13:39:47 +1100 Subject: [PATCH 2/3] Fix T53958: Sequencer zoom 1:1 fails --- source/blender/editors/space_sequencer/sequencer_edit.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/blender/editors/space_sequencer/sequencer_edit.c b/source/blender/editors/space_sequencer/sequencer_edit.c index 87dfe93378d..29a7e11d859 100644 --- a/source/blender/editors/space_sequencer/sequencer_edit.c +++ b/source/blender/editors/space_sequencer/sequencer_edit.c @@ -2808,7 +2808,7 @@ static int sequencer_view_zoom_ratio_exec(bContext *C, wmOperator *op) float facx = BLI_rcti_size_x(&v2d->mask) / winx; float facy = BLI_rcti_size_y(&v2d->mask) / winy; - BLI_rctf_resize(&v2d->cur, floorf(winx * facx / ratio + 0.5f), floorf(winy * facy / ratio + 0.5f)); + BLI_rctf_resize(&v2d->cur, ceilf(winx * facx / ratio + 0.5f), ceilf(winy * facy / ratio + 0.5f)); ED_region_tag_redraw(CTX_wm_region(C)); From 8f9386596fb0471c972921e6543b3a0adc3ffb3d Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 9 Feb 2018 13:48:34 +1100 Subject: [PATCH 3/3] CMake: include missing headers --- build_files/cmake/cmake_consistency_check_config.py | 4 ---- extern/glog/CMakeLists.txt | 1 + intern/cycles/CMakeLists.txt | 2 +- intern/cycles/app/CMakeLists.txt | 8 ++++++-- source/blender/editors/interface/CMakeLists.txt | 2 ++ 5 files changed, 10 insertions(+), 7 deletions(-) diff --git a/build_files/cmake/cmake_consistency_check_config.py b/build_files/cmake/cmake_consistency_check_config.py index 9ec1c095a9c..2fbf855c386 100644 --- a/build_files/cmake/cmake_consistency_check_config.py +++ b/build_files/cmake/cmake_consistency_check_config.py @@ -25,10 +25,6 @@ IGNORE = ( "extern/bullet2/src/BulletDynamics/Character/btKinematicCharacterController.h", "extern/bullet2/src/BulletDynamics/ConstraintSolver/btHinge2Constraint.h", "extern/bullet2/src/BulletDynamics/ConstraintSolver/btUniversalConstraint.h", - "extern/carve/include/carve/config.h", - "extern/carve/include/carve/random/random.h", - "extern/carve/patches/files/config.h", - "extern/carve/patches/files/random.h", "intern/audaspace/SRC/AUD_SRCResampleFactory.h", "intern/audaspace/SRC/AUD_SRCResampleReader.h", ) diff --git a/extern/glog/CMakeLists.txt b/extern/glog/CMakeLists.txt index 15e6aff9714..32f4dca77e8 100644 --- a/extern/glog/CMakeLists.txt +++ b/extern/glog/CMakeLists.txt @@ -40,6 +40,7 @@ set(SRC src/config.h src/config_freebsd.h + src/config_haiku.h src/config_hurd.h src/config_linux.h src/config_mac.h diff --git a/intern/cycles/CMakeLists.txt b/intern/cycles/CMakeLists.txt index f720d389cbf..e7b934ec74f 100644 --- a/intern/cycles/CMakeLists.txt +++ b/intern/cycles/CMakeLists.txt @@ -253,7 +253,7 @@ if(WITH_CYCLES_CUDA_BINARIES AND (NOT WITH_CYCLES_CUBIN_COMPILER)) elseif(${CUDA_VERSION} EQUAL "9.1") set(MAX_MSVC 1911) endif() - if (NOT MSVC_VERSION LESS ${MAX_MSVC}) + if(NOT MSVC_VERSION LESS ${MAX_MSVC}) message(STATUS "nvcc not supported for this compiler version, using cycles_cubin_cc instead.") set(WITH_CYCLES_CUBIN_COMPILER ON) endif() diff --git a/intern/cycles/app/CMakeLists.txt b/intern/cycles/app/CMakeLists.txt index 9ebeceb1659..a8e0297aeaa 100644 --- a/intern/cycles/app/CMakeLists.txt +++ b/intern/cycles/app/CMakeLists.txt @@ -128,8 +128,12 @@ if(WITH_CYCLES_CUBIN_COMPILER) if(MSVC AND NOT CMAKE_CL_64) Message("cycles_cubin_cc not supported on x86") else() - set(SRC cycles_cubin_cc.cpp) - set(INC ../../../extern/cuew/include) + set(SRC + cycles_cubin_cc.cpp + ) + set(INC + ../../../extern/cuew/include + ) add_executable(cycles_cubin_cc ${SRC}) include_directories(${INC}) target_link_libraries(cycles_cubin_cc diff --git a/source/blender/editors/interface/CMakeLists.txt b/source/blender/editors/interface/CMakeLists.txt index a6315e0fcce..ede28b49dbe 100644 --- a/source/blender/editors/interface/CMakeLists.txt +++ b/source/blender/editors/interface/CMakeLists.txt @@ -69,7 +69,9 @@ set(SRC view2d.c view2d_ops.c + interface_eyedropper_intern.h interface_intern.h + interface_regions_intern.h ) if(WITH_INTERNATIONAL)