[Bf-blender-cvs] [9054b834028] blender-v2.81-release: Cleanup depsgraph access in particle_edit.c

2019-10-17 Thread Philipp Oeser
Commit: 9054b834028fc5c0e67f5225ad09dd7107484951
Author: Philipp Oeser
Date:   Tue Oct 15 12:22:43 2019 +0200
Branches: blender-v2.81-release
https://developer.blender.org/rB9054b834028fc5c0e67f5225ad09dd7107484951

Cleanup depsgraph access in particle_edit.c

'PE_set_data' / 'PE_set_view3d_data' would give us a depsgraph already,
so use it.

Also fix access to PEData->depsgraph without calling 'PE_set_data' prior.

Addresses concern raised in rBcf2c09002fae.

Reviewed By: sergey

Differential Revision: https://developer.blender.org/D6067

===

M   source/blender/editors/physics/particle_edit.c

===

diff --git a/source/blender/editors/physics/particle_edit.c 
b/source/blender/editors/physics/particle_edit.c
index 3978f7ba3b5..f16a372cb3c 100644
--- a/source/blender/editors/physics/particle_edit.c
+++ b/source/blender/editors/physics/particle_edit.c
@@ -470,8 +470,7 @@ static void PE_set_view3d_data(bContext *C, PEData *data)
 {
   PE_set_data(C, data);
 
-  Depsgraph *depsgraph = CTX_data_ensure_evaluated_depsgraph(C);
-  ED_view3d_viewcontext_init(C, &data->vc, depsgraph);
+  ED_view3d_viewcontext_init(C, &data->vc, data->depsgraph);
 
   if (!XRAY_ENABLED(data->vc.v3d)) {
 if (data->vc.v3d->flag & V3D_INVALID_BACKBUF) {
@@ -1811,10 +1810,13 @@ bool PE_mouse_particles(bContext *C, const int mval[2], 
bool extend, bool desele
   PEData data;
   Scene *scene = CTX_data_scene(C);
   Object *ob = CTX_data_active_object(C);
-  PTCacheEdit *edit = PE_get_current(data.depsgraph, scene, ob);
   POINT_P;
   KEY_K;
 
+  PE_set_view3d_data(C, &data);
+
+  PTCacheEdit *edit = PE_get_current(data.depsgraph, scene, ob);
+
   if (!PE_start_edit(edit)) {
 return false;
   }
@@ -1828,7 +1830,6 @@ bool PE_mouse_particles(bContext *C, const int mval[2], 
bool extend, bool desele
 }
   }
 
-  PE_set_view3d_data(C, &data);
   data.mval = mval;
   data.rad = ED_view3d_select_dist_px();
 
@@ -1997,7 +1998,6 @@ static const EnumPropertyItem select_random_type_items[] 
= {
 
 static int select_random_exec(bContext *C, wmOperator *op)
 {
-  Depsgraph *depsgraph = CTX_data_depsgraph_pointer(C);
   PEData data;
   int type;
 
@@ -2017,7 +2017,7 @@ static int select_random_exec(bContext *C, wmOperator *op)
 
   PE_set_data(C, &data);
   data.select_action = SEL_SELECT;
-  edit = PE_get_current(depsgraph, data.scene, data.ob);
+  edit = PE_get_current(data.depsgraph, data.scene, data.ob);
 
   rng = BLI_rng_new_srandom(seed);
 
@@ -4940,7 +4940,7 @@ static void shape_cut(PEData *data, int pa_index)
 
 static int shape_cut_exec(bContext *C, wmOperator *UNUSED(op))
 {
-  Depsgraph *depsgraph = CTX_data_depsgraph_pointer(C);
+  Depsgraph *depsgraph = CTX_data_ensure_evaluated_depsgraph(C);
   Scene *scene = CTX_data_scene(C);
   Object *ob = CTX_data_active_object(C);
   ParticleEditSettings *pset = PE_settings(scene);

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [77e38160fe2] master: Merge branch 'blender-v2.81-release'

2019-10-17 Thread Philipp Oeser
Commit: 77e38160fe2a351f0b9b81d0e18c4dfe5df1d3ad
Author: Philipp Oeser
Date:   Thu Oct 17 13:17:36 2019 +0200
Branches: master
https://developer.blender.org/rB77e38160fe2a351f0b9b81d0e18c4dfe5df1d3ad

Merge branch 'blender-v2.81-release'

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [725b59d9b44] blender-v2.81-release: Fix T70903: Opening splash screen from named app_template crashes

2019-10-18 Thread Philipp Oeser
Commit: 725b59d9b44a632095c90e1912f14431b0171f1d
Author: Philipp Oeser
Date:   Thu Oct 17 18:54:14 2019 +0200
Branches: blender-v2.81-release
https://developer.blender.org/rB725b59d9b44a632095c90e1912f14431b0171f1d

Fix T70903: Opening splash screen from named app_template crashes

Caused by rB46102cf4e0c4 [which removed the check if the image can
actually be loaded].

Maniphest Tasks: T70903

Reviewed By: campbellbarton

Differential Revision: https://developer.blender.org/D6089

===

M   source/blender/windowmanager/intern/wm_splash_screen.c

===

diff --git a/source/blender/windowmanager/intern/wm_splash_screen.c 
b/source/blender/windowmanager/intern/wm_splash_screen.c
index 662238b4ae1..3603ce81654 100644
--- a/source/blender/windowmanager/intern/wm_splash_screen.c
+++ b/source/blender/windowmanager/intern/wm_splash_screen.c
@@ -209,7 +209,7 @@ static ImBuf *wm_block_splash_image(int r_unit_size[2])
   ibuf = IMB_loadiffname(splash_filepath, IB_rect, NULL);
 
   /* We could skip this check, see comment about 'x_expect' above. */
-  if (ibuf->x != x_expect) {
+  if (ibuf && ibuf->x != x_expect) {
 CLOG_ERROR(WM_LOG_OPERATORS,
"Splash expected %d width found %d, ignoring: %s\n",
x_expect,

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [8148bf8cf0f] master: Merge branch 'blender-v2.81-release'

2019-10-18 Thread Philipp Oeser
Commit: 8148bf8cf0f990156d2a0ae6e646a90dfa7aa858
Author: Philipp Oeser
Date:   Fri Oct 18 13:33:20 2019 +0200
Branches: master
https://developer.blender.org/rB8148bf8cf0f990156d2a0ae6e646a90dfa7aa858

Merge branch 'blender-v2.81-release'

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [9f388c16467] blender-v2.81-release: Fix T71037: batch rename bones in pose mode throws exceptions

2019-10-28 Thread Philipp Oeser
Commit: 9f388c16467d9893412cd8891f2bf2693df3db3d
Author: Philipp Oeser
Date:   Wed Oct 23 13:45:05 2019 +0200
Branches: blender-v2.81-release
https://developer.blender.org/rB9f388c16467d9893412cd8891f2bf2693df3db3d

Fix T71037: batch rename bones in pose mode throws exceptions

Maniphest Tasks: T71037

Differential Revision: https://developer.blender.org/D6122

===

M   release/scripts/startup/bl_operators/wm.py

===

diff --git a/release/scripts/startup/bl_operators/wm.py 
b/release/scripts/startup/bl_operators/wm.py
index 726afda571d..e7989bec227 100644
--- a/release/scripts/startup/bl_operators/wm.py
+++ b/release/scripts/startup/bl_operators/wm.py
@@ -1923,7 +1923,7 @@ class WM_OT_batch_rename(Operator):
 data = (
 [pchan.bone for pchan in context.selected_pose_bones]
 if only_selected else
-[pchan.bone for ob in 
context.objects_in_mode_unique_data for pbone in ob.pose.bones],
+[pbone.bone for ob in 
context.objects_in_mode_unique_data for pbone in ob.pose.bones],
 "name",
 "Bone(s)",
 )

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [d4a67fa87b0] master: Merge branch 'blender-v2.81-release'

2019-10-28 Thread Philipp Oeser
Commit: d4a67fa87b01f93bbd4e755e263b04c9626b494d
Author: Philipp Oeser
Date:   Mon Oct 28 10:31:52 2019 +0100
Branches: master
https://developer.blender.org/rBd4a67fa87b01f93bbd4e755e263b04c9626b494d

Merge branch 'blender-v2.81-release'

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [4fbcbbfb967] blender-v2.81-release: Fix T71126: add old hotkeys to set start/end frame in the timeline to Blender 27X keymap

2019-10-29 Thread Philipp Oeser
Commit: 4fbcbbfb967cb0fdff11dfc1646a1c55bca96f1d
Author: Philipp Oeser
Date:   Tue Oct 29 10:39:07 2019 +0100
Branches: blender-v2.81-release
https://developer.blender.org/rB4fbcbbfb967cb0fdff11dfc1646a1c55bca96f1d

Fix T71126: add old hotkeys to set start/end frame in the timeline to
Blender 27X keymap

Maniphest Tasks: T71126

Differential Revision: https://developer.blender.org/D6151

===

M   release/scripts/presets/keyconfig/keymap_data/blender_default.py

===

diff --git a/release/scripts/presets/keyconfig/keymap_data/blender_default.py 
b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
index 6ad0ccf8a5f..8a86ece53ce 100644
--- a/release/scripts/presets/keyconfig/keymap_data/blender_default.py
+++ b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
@@ -2855,6 +2855,17 @@ def km_animation(params):
 {"items": items},
 )
 
+if not params.legacy:
+items.extend([
+("anim.start_frame_set", {"type": 'HOME', "value": 'PRESS', 
"ctrl": True}, None),
+("anim.end_frame_set", {"type": 'END', "value": 'PRESS', "ctrl": 
True}, None),
+])
+else:
+items.extend([
+("anim.start_frame_set", {"type": 'S', "value": 'PRESS'}, None),
+("anim.end_frame_set", {"type": 'E', "value": 'PRESS'}, None),
+])
+
 items.extend([
 # Frame management.
 ("wm.context_toggle", {"type": 'T', "value": 'PRESS', "ctrl": True},
@@ -2862,8 +2873,6 @@ def km_animation(params):
 # Preview range.
 ("anim.previewrange_set", {"type": 'P', "value": 'PRESS'}, None),
 ("anim.previewrange_clear", {"type": 'P', "value": 'PRESS', "alt": 
True}, None),
-("anim.start_frame_set", {"type": 'HOME', "value": 'PRESS', "ctrl": 
True}, None),
-("anim.end_frame_set", {"type": 'END', "value": 'PRESS', "ctrl": 
True}, None),
 ])
 
 if params.select_mouse == 'LEFTMOUSE' and not params.legacy:

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [c43183bcc98] master: Merge branch 'blender-v2.81-release'

2019-10-29 Thread Philipp Oeser
Commit: c43183bcc983f555f8f64fab3dbe98aaeefb32be
Author: Philipp Oeser
Date:   Tue Oct 29 14:32:28 2019 +0100
Branches: master
https://developer.blender.org/rBc43183bcc983f555f8f64fab3dbe98aaeefb32be

Merge branch 'blender-v2.81-release'

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [9efe12d77a6] blender-v2.81-release: Fix T71171: Problems removing texture packing (without writing anything) using image.unpack() or bpy.ops.image.unpack()

2019-10-29 Thread Philipp Oeser
Commit: 9efe12d77a60fab1215f09c6231337244df3c176
Author: Philipp Oeser
Date:   Tue Oct 29 11:33:41 2019 +0100
Branches: blender-v2.81-release
https://developer.blender.org/rB9efe12d77a60fab1215f09c6231337244df3c176

Fix T71171: Problems removing texture packing (without writing anything)
using image.unpack() or bpy.ops.image.unpack()

If we offer this in the UI, also expose this to .unpack

Maniphest Tasks: T71171

Differential Revision: https://developer.blender.org/D6152

===

M   source/blender/editors/space_info/info_ops.c
M   source/blender/makesrna/intern/rna_packedfile.c

===

diff --git a/source/blender/editors/space_info/info_ops.c 
b/source/blender/editors/space_info/info_ops.c
index 14817e9ffa1..124e3c08165 100644
--- a/source/blender/editors/space_info/info_ops.c
+++ b/source/blender/editors/space_info/info_ops.c
@@ -211,6 +211,7 @@ static const EnumPropertyItem unpack_all_method_items[] = {
  "Write files to original location (overwrite existing files)",
  ""},
 {PF_KEEP, "KEEP", 0, "Disable Auto-pack, keep all packed files", ""},
+{PF_REMOVE, "REMOVE", 0, "Remove Pack", ""},
 /* {PF_ASK, "ASK", 0, "Ask for each file", ""}, */
 {0, NULL, 0, NULL, NULL},
 };
diff --git a/source/blender/makesrna/intern/rna_packedfile.c 
b/source/blender/makesrna/intern/rna_packedfile.c
index dda1c637f39..8319612ea91 100644
--- a/source/blender/makesrna/intern/rna_packedfile.c
+++ b/source/blender/makesrna/intern/rna_packedfile.c
@@ -32,6 +32,7 @@
 #include "rna_internal.h"
 
 const EnumPropertyItem rna_enum_unpack_method_items[] = {
+{PF_REMOVE, "REMOVE", 0, "Remove Pack", ""},
 {PF_USE_LOCAL, "USE_LOCAL", 0, "Use Local File", ""},
 {PF_WRITE_LOCAL, "WRITE_LOCAL", 0, "Write Local File (overwrite 
existing)", ""},
 {PF_USE_ORIGINAL, "USE_ORIGINAL", 0, "Use Original File", ""},

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [87ac3d14b29] blender-v2.81-release: Fix T70905: Image Editor header hides mask, cache and keyframe info if flipped to bottom

2019-10-29 Thread Philipp Oeser
Commit: 87ac3d14b29d61d74b9aee2296f5b9892e2aa4a0
Author: Philipp Oeser
Date:   Tue Oct 29 16:49:27 2019 +0100
Branches: blender-v2.81-release
https://developer.blender.org/rB87ac3d14b29d61d74b9aee2296f5b9892e2aa4a0

Fix T70905: Image Editor header hides mask, cache and keyframe info if
flipped to bottom

While flipping the header to bottom works in the MCE (because MCE doesnt
allow overlapping UI) we need to take the regions visible rect into
account for the Image Editor.

Also correct clickable scubbing area (poll for frame_change) in the
Image Editor and the MovieClip Editor not taking UI_DPI_FAC into
account.

Maniphest Tasks: T70905

Differential Revision: https://developer.blender.org/D6090

===

M   source/blender/editors/include/ED_screen.h
M   source/blender/editors/mask/mask_draw.c
M   source/blender/editors/screen/area.c
M   source/blender/editors/space_clip/clip_ops.c
M   source/blender/editors/space_image/image_draw.c
M   source/blender/editors/space_image/image_ops.c

===

diff --git a/source/blender/editors/include/ED_screen.h 
b/source/blender/editors/include/ED_screen.h
index c3e61f5f2b2..4ca7c8f96ad 100644
--- a/source/blender/editors/include/ED_screen.h
+++ b/source/blender/editors/include/ED_screen.h
@@ -404,13 +404,10 @@ void ED_screen_user_menu_register(void);
 
 /* Cache display helpers */
 
-void ED_region_cache_draw_background(const struct ARegion *ar);
+void ED_region_cache_draw_background(struct ARegion *ar);
 void ED_region_cache_draw_curfra_label(const int framenr, const float x, const 
float y);
-void ED_region_cache_draw_cached_segments(const struct ARegion *ar,
-  const int num_segments,
-  const int *points,
-  const int sfra,
-  const int efra);
+void ED_region_cache_draw_cached_segments(
+struct ARegion *ar, const int num_segments, const int *points, const int 
sfra, const int efra);
 
 /* area_utils.c */
 void ED_region_generic_tools_region_message_subscribe(const struct bContext *C,
diff --git a/source/blender/editors/mask/mask_draw.c 
b/source/blender/editors/mask/mask_draw.c
index 7247697dcb7..85fedac05ce 100644
--- a/source/blender/editors/mask/mask_draw.c
+++ b/source/blender/editors/mask/mask_draw.c
@@ -38,6 +38,7 @@
 
 #include "ED_clip.h"
 #include "ED_mask.h" /* own include */
+#include "ED_screen.h"
 #include "ED_space_api.h"
 
 #include "BIF_glutil.h"
@@ -802,6 +803,10 @@ void ED_mask_draw_frames(Mask *mask, ARegion *ar, const 
int cfra, const int sfra
 unsigned int num_lines = BLI_listbase_count(&masklay->splines_shapes);
 
 if (num_lines > 0) {
+  /* Local coordinate visible rect inside region, to accommodate 
overlapping ui. */
+  const rcti *rect_visible = ED_region_visible_rect(ar);
+  const int region_bottom = rect_visible->ymin;
+
   uint pos = GPU_vertformat_attr_add(
   immVertexFormat(), "pos", GPU_COMP_I32, 2, GPU_FETCH_INT_TO_FLOAT);
 
@@ -817,8 +822,8 @@ void ED_mask_draw_frames(Mask *mask, ARegion *ar, const int 
cfra, const int sfra
 /* draw_keyframe(i, CFRA, sfra, framelen, 1); */
 int height = (frame == cfra) ? 22 : 10;
 int x = (frame - sfra) * framelen;
-immVertex2i(pos, x, 0);
-immVertex2i(pos, x, height);
+immVertex2i(pos, x, region_bottom);
+immVertex2i(pos, x, region_bottom + height * UI_DPI_FAC);
   }
   immEnd();
   immUnbindProgram();
diff --git a/source/blender/editors/screen/area.c 
b/source/blender/editors/screen/area.c
index c068fbdf7cb..bf45fa24923 100644
--- a/source/blender/editors/screen/area.c
+++ b/source/blender/editors/screen/area.c
@@ -3337,13 +3337,17 @@ const rcti *ED_region_visible_rect(ARegion *ar)
 
 /* Cache display helpers */
 
-void ED_region_cache_draw_background(const ARegion *ar)
+void ED_region_cache_draw_background(ARegion *ar)
 {
+  /* Local coordinate visible rect inside region, to accommodate overlapping 
ui. */
+  const rcti *rect_visible = ED_region_visible_rect(ar);
+  const int region_bottom = rect_visible->ymin;
+
   uint pos = GPU_vertformat_attr_add(
   immVertexFormat(), "pos", GPU_COMP_I32, 2, GPU_FETCH_INT_TO_FLOAT);
   immBindBuiltinProgram(GPU_SHADER_2D_UNIFORM_COLOR);
   immUniformColor4ub(128, 128, 255, 64);
-  immRecti(pos, 0, 0, ar->winx, 8 * UI_DPI_FAC);
+  immRecti(pos, 0, region_bottom, ar->winx, region_bottom + 8 * UI_DPI_FAC);
   immUnbindProgram();
 }
 
@@ -3373,9 +3377,13 @@ void ED_region_cache_draw_curfra_label(const int 
framenr, const float x, const f
 }
 
 void ED_region_cache_draw_cached_segments(
-const ARegion *ar, const int num_segments, const int *points, const int 

[Bf-blender-cvs] [81cc09b78a1] master: Merge branch 'blender-v2.81-release'

2019-10-29 Thread Philipp Oeser
Commit: 81cc09b78a12bcbbe7552dd02f47010775fc8b62
Author: Philipp Oeser
Date:   Tue Oct 29 17:16:35 2019 +0100
Branches: master
https://developer.blender.org/rB81cc09b78a12bcbbe7552dd02f47010775fc8b62

Merge branch 'blender-v2.81-release'

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [d45c7c997f1] blender-v2.81-release: Fix T71026: Outliner - Show Hierarchy (Home Hotkey) Not Working Correctly

2019-10-30 Thread Philipp Oeser
Commit: d45c7c997f18d16cacd8e955e1a99b6bf521f637
Author: Philipp Oeser
Date:   Wed Oct 23 14:54:14 2019 +0200
Branches: blender-v2.81-release
https://developer.blender.org/rBd45c7c997f18d16cacd8e955e1a99b6bf521f637

Fix T71026: Outliner - Show Hierarchy (Home Hotkey) Not Working Correctly

In 2.8, code would not enter the new 'Objects' and Collections'
'folders'.

Maniphest Tasks: T71026

Differential Revision: https://developer.blender.org/D6123

===

M   source/blender/editors/space_outliner/outliner_edit.c

===

diff --git a/source/blender/editors/space_outliner/outliner_edit.c 
b/source/blender/editors/space_outliner/outliner_edit.c
index c55140db46f..34bbf3a2a30 100644
--- a/source/blender/editors/space_outliner/outliner_edit.c
+++ b/source/blender/editors/space_outliner/outliner_edit.c
@@ -1600,7 +1600,11 @@ static void tree_element_show_hierarchy(Scene *scene, 
SpaceOutliner *soops, List
   for (te = lb->first; te; te = te->next) {
 tselem = TREESTORE(te);
 
-if (tselem->type == 0) {
+if (ELEM(tselem->type,
+ 0,
+ TSE_SCENE_OBJECTS_BASE,
+ TSE_VIEW_COLLECTION_BASE,
+ TSE_LAYER_COLLECTION)) {
   if (te->idcode == ID_SCE) {
 if (tselem->id != (ID *)scene) {
   tselem->flag |= TSE_CLOSED;

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [84386c45d83] master: Merge branch 'blender-v2.81-release'

2019-10-30 Thread Philipp Oeser
Commit: 84386c45d83ddc722e33a4bbf133943921229b86
Author: Philipp Oeser
Date:   Wed Oct 30 09:57:19 2019 +0100
Branches: master
https://developer.blender.org/rB84386c45d83ddc722e33a4bbf133943921229b86

Merge branch 'blender-v2.81-release'

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [ff7be963228] blender-v2.81-release: Toggle 'PLAY' <> 'PAUSE' icons for pausing preview rendering

2019-10-30 Thread Philipp Oeser
Commit: ff7be963228c95a89bca3f75b291f50fa8b153e1
Author: Philipp Oeser
Date:   Wed Oct 23 11:16:47 2019 +0200
Branches: blender-v2.81-release
https://developer.blender.org/rBff7be963228c95a89bca3f75b291f50fa8b153e1

Toggle 'PLAY' <> 'PAUSE' icons for pausing preview rendering

mentioned in T70974

Maniphest Tasks: T70974

Differential Revision: https://developer.blender.org/D6119

===

M   intern/cycles/blender/addon/ui.py

===

diff --git a/intern/cycles/blender/addon/ui.py 
b/intern/cycles/blender/addon/ui.py
index b2624b2aa81..4ff154d4bcd 100644
--- a/intern/cycles/blender/addon/ui.py
+++ b/intern/cycles/blender/addon/ui.py
@@ -2166,7 +2166,7 @@ def draw_pause(self, context):
 
 if view.shading.type == 'RENDERED':
 cscene = scene.cycles
-layout.prop(cscene, "preview_pause", icon='PAUSE', text="")
+layout.prop(cscene, "preview_pause", icon='PLAY' if 
cscene.preview_pause else 'PAUSE', text="")
 
 
 def get_panels():

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [367def2f160] master: Merge branch 'blender-v2.81-release'

2019-10-30 Thread Philipp Oeser
Commit: 367def2f16054217fb1c383ecfc10676710af822
Author: Philipp Oeser
Date:   Wed Oct 30 10:19:41 2019 +0100
Branches: master
https://developer.blender.org/rB367def2f16054217fb1c383ecfc10676710af822

Merge branch 'blender-v2.81-release'

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [068c6a6f151] blender-v2.81-release: Fix T71182: Object Parenting - 'Without Inverse' option missing in menu

2019-10-30 Thread Philipp Oeser
Commit: 068c6a6f1516bc7d25da7f33dff3181e323b432e
Author: Philipp Oeser
Date:   Tue Oct 29 10:21:04 2019 +0100
Branches: blender-v2.81-release
https://developer.blender.org/rB068c6a6f1516bc7d25da7f33dff3181e323b432e

Fix T71182: Object Parenting - 'Without Inverse' option missing in menu

Maniphest Tasks: T71182

Differential Revision: https://developer.blender.org/D6150

===

M   release/scripts/startup/bl_ui/space_view3d.py

===

diff --git a/release/scripts/startup/bl_ui/space_view3d.py 
b/release/scripts/startup/bl_ui/space_view3d.py
index eab1abd279a..bfad70dcb49 100644
--- a/release/scripts/startup/bl_ui/space_view3d.py
+++ b/release/scripts/startup/bl_ui/space_view3d.py
@@ -2536,11 +2536,18 @@ class VIEW3D_MT_object_parent(Menu):
 
 def draw(self, _context):
 layout = self.layout
+operator_context_default = layout.operator_context
 
 layout.operator_enum("object.parent_set", "type")
 
 layout.separator()
 
+layout.operator_context = 'EXEC_DEFAULT'
+layout.operator("object.parent_no_inverse_set")
+layout.operator_context = operator_context_default
+
+layout.separator()
+
 layout.operator_enum("object.parent_clear", "type")

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [8fe4d9c0029] master: Merge branch 'blender-v2.81-release'

2019-10-30 Thread Philipp Oeser
Commit: 8fe4d9c002964301b139004daeea523cdbdb196e
Author: Philipp Oeser
Date:   Wed Oct 30 14:19:05 2019 +0100
Branches: master
https://developer.blender.org/rB8fe4d9c002964301b139004daeea523cdbdb196e

Merge branch 'blender-v2.81-release'

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [bb69e627106] blender-v2.81-release: Fix T68396: Unable to change any Collision input value after it has been keyframed

2019-11-05 Thread Philipp Oeser
Commit: bb69e627106a6e7aa65c3534983aefbf1ac9605c
Author: Philipp Oeser
Date:   Fri Oct 18 14:14:24 2019 +0200
Branches: blender-v2.81-release
https://developer.blender.org/rBbb69e627106a6e7aa65c3534983aefbf1ac9605c

Fix T68396: Unable to change any Collision input value after it has been 
keyframed

'rna_CollisionSettings_update' has a history of tagging ob for update:
rB79312c1912b4 ID_RECALC_TRANSFORM |ID_RECALC_GEOMETRY |
ID_RECALC_ANIMATION
rBf90a2123eedc OB_RECALC_OB | OB_RECALC_DATA | OB_RECALC_TIME
rBfaf1c9a4bb27 OB_RECALC_ALL
rB7df35db1b136 OB_RECALC

Since the meaning of OB_RECALC_TIME/ID_RECALC_ANIMATION changed a bit
historically (from "please update my animation if the animation
datablock is tagged for update" to "update animation of this datablock")
this was now always overwriting user edit with animated values, making
it impossible to change those values once animated.

Thx @sergey for guidance!

Maniphest Tasks: T68396

Differential Revision: https://developer.blender.org/D6113

===

M   source/blender/makesrna/intern/rna_object_force.c

===

diff --git a/source/blender/makesrna/intern/rna_object_force.c 
b/source/blender/makesrna/intern/rna_object_force.c
index 87b14b56504..16d70e21ec2 100644
--- a/source/blender/makesrna/intern/rna_object_force.c
+++ b/source/blender/makesrna/intern/rna_object_force.c
@@ -798,7 +798,7 @@ static void rna_CollisionSettings_update(Main 
*UNUSED(bmain),
 {
   Object *ob = (Object *)ptr->owner_id;
 
-  DEG_id_tag_update(&ob->id, ID_RECALC_TRANSFORM | ID_RECALC_GEOMETRY | 
ID_RECALC_ANIMATION);
+  DEG_id_tag_update(&ob->id, ID_RECALC_TRANSFORM | ID_RECALC_GEOMETRY);
   WM_main_add_notifier(NC_OBJECT | ND_DRAW, ob);
 }

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [ea7e161e189] master: Merge branch 'blender-v2.81-release'

2019-11-05 Thread Philipp Oeser
Commit: ea7e161e189dfd261692eba9ce5587dd2e71c287
Author: Philipp Oeser
Date:   Tue Nov 5 10:05:06 2019 +0100
Branches: master
https://developer.blender.org/rBea7e161e189dfd261692eba9ce5587dd2e71c287

Merge branch 'blender-v2.81-release'

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [fe2b92d7893] blender-v2.81-release: Fix T55632: USE_DRAG_MULTINUM and USE_ALLSELECT not working well together

2019-11-08 Thread Philipp Oeser
Commit: fe2b92d7893ea9d4bb4fabd68a30385a5260d80e
Author: Philipp Oeser
Date:   Wed Nov 6 16:01:08 2019 +0100
Branches: blender-v2.81-release
https://developer.blender.org/rBfe2b92d7893ea9d4bb4fabd68a30385a5260d80e

Fix T55632: USE_DRAG_MULTINUM and USE_ALLSELECT not working well together

'is_copy' was not set correctly on all uiButMultiState (it was done once
for uiHandleButtonData), resulting in 'delta' being used on some indices
of the array and not others in `ui_selectcontext_apply`.

Maniphest Tasks: T55632

Differential Revision: https://developer.blender.org/D6201

===

M   source/blender/editors/interface/interface_handlers.c

===

diff --git a/source/blender/editors/interface/interface_handlers.c 
b/source/blender/editors/interface/interface_handlers.c
index e7d80306ecb..2d739899ae8 100644
--- a/source/blender/editors/interface/interface_handlers.c
+++ b/source/blender/editors/interface/interface_handlers.c
@@ -1086,6 +1086,9 @@ static void ui_multibut_add(uiHandleButtonData *data, 
uiBut *but)
   mbut_state = MEM_callocN(sizeof(*mbut_state), __func__);
   mbut_state->but = but;
   mbut_state->origvalue = ui_but_value_get(but);
+#  ifdef USE_ALLSELECT
+  mbut_state->select_others.is_copy = data->select_others.is_copy;
+#  endif
 
   BLI_linklist_prepend(&data->multi_data.mbuts, mbut_state);

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [fb71bb991ba] master: Merge branch 'blender-v2.81-release'

2019-11-08 Thread Philipp Oeser
Commit: fb71bb991ba3423294ff3dc225d1ffc95096a330
Author: Philipp Oeser
Date:   Fri Nov 8 14:18:04 2019 +0100
Branches: master
https://developer.blender.org/rBfb71bb991ba3423294ff3dc225d1ffc95096a330

Merge branch 'blender-v2.81-release'

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [6900187092e] blender-v2.81-release: Fix T71372: view layer is not maintained when area is duplicated into new window

2019-11-08 Thread Philipp Oeser
Commit: 6900187092e9b51fcc33b21aaf411695263a4578
Author: Philipp Oeser
Date:   Thu Nov 7 11:00:56 2019 +0100
Branches: blender-v2.81-release
https://developer.blender.org/rB6900187092e9b51fcc33b21aaf411695263a4578

Fix T71372: view layer is not maintained when area is duplicated into new window

Maniphest Tasks: T71372

Differential Revision: https://developer.blender.org/D6205

===

M   source/blender/editors/screen/screen_ops.c

===

diff --git a/source/blender/editors/screen/screen_ops.c 
b/source/blender/editors/screen/screen_ops.c
index cc1f53eabde..3c37b49002c 100644
--- a/source/blender/editors/screen/screen_ops.c
+++ b/source/blender/editors/screen/screen_ops.c
@@ -1353,6 +1353,8 @@ static int area_dupli_invoke(bContext *C, wmOperator *op, 
const wmEvent *event)
 
   newwin->scene = scene;
 
+  STRNCPY(newwin->view_layer_name, win->view_layer_name);
+
   BKE_workspace_active_set(newwin->workspace_hook, workspace);
   /* allocs new screen and adds to newly created window, using window size */
   layout_new = ED_workspace_layout_add(

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [31f8c9159d1] master: Merge branch 'blender-v2.81-release'

2019-11-08 Thread Philipp Oeser
Commit: 31f8c9159d169652b3a5d0db91c2f0d80dbee658
Author: Philipp Oeser
Date:   Fri Nov 8 14:28:45 2019 +0100
Branches: master
https://developer.blender.org/rB31f8c9159d169652b3a5d0db91c2f0d80dbee658

Merge branch 'blender-v2.81-release'

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [3b66d2ed21a] blender-v2.81-release: Fix T71405: Trying to Ctrl-C on many buttons crashes Blender

2019-11-08 Thread Philipp Oeser
Commit: 3b66d2ed21a35036f8221d831f96556f85261db9
Author: Philipp Oeser
Date:   Thu Nov 7 17:53:05 2019 +0100
Branches: blender-v2.81-release
https://developer.blender.org/rB3b66d2ed21a35036f8221d831f96556f85261db9

Fix T71405: Trying to Ctrl-C on many buttons crashes Blender

Usually Ctrl+C copies the operator name to the clipboard
["bpy.ops.material.new()", "bpy.ops.object.material_slot_remove()"]
Crash happens for all buttons of UI_BTYPE_BUT without associated
operator [some are defined with callbacks only, often these are created
with e.g uiDefIconBut (instead of e.g. uiDefIconButO)]

Other examples that crash with Ctrl+C:
- animation decorators next to animatable properties
- button to show a modifier texture in the texture tab
- ...

2.79 survived here (result in the clipboard was just not changed hitting
Ctrl+C on these buttons), this is what happens with this patch as well.

Maniphest Tasks: T71405

Differential Revision: https://developer.blender.org/D6208

===

M   source/blender/editors/interface/interface_handlers.c

===

diff --git a/source/blender/editors/interface/interface_handlers.c 
b/source/blender/editors/interface/interface_handlers.c
index 2d739899ae8..0b4adb33b1c 100644
--- a/source/blender/editors/interface/interface_handlers.c
+++ b/source/blender/editors/interface/interface_handlers.c
@@ -2528,6 +2528,9 @@ static void ui_but_copy(bContext *C, uiBut *but, const 
bool copy_array)
   break;
 
 case UI_BTYPE_BUT:
+  if (!but->optype) {
+break;
+  }
   ui_but_copy_operator(C, but, buf, buf_max_len);
   is_buf_set = true;
   break;

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [f47c469e900] master: Merge branch 'blender-v2.81-release'

2019-11-08 Thread Philipp Oeser
Commit: f47c469e900ba57a85397028e607eb54f0fc42a6
Author: Philipp Oeser
Date:   Fri Nov 8 14:38:43 2019 +0100
Branches: master
https://developer.blender.org/rBf47c469e900ba57a85397028e607eb54f0fc42a6

Merge branch 'blender-v2.81-release'

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [33166107857] blender-v2.81-release: Revert "Fix T71126: add old hotkeys to set start/end frame in the timeline to"

2019-11-11 Thread Philipp Oeser
Commit: 331661078572200cde66b760d5346bfe10b8ef4d
Author: Philipp Oeser
Date:   Mon Nov 11 09:59:41 2019 +0100
Branches: blender-v2.81-release
https://developer.blender.org/rB331661078572200cde66b760d5346bfe10b8ef4d

Revert "Fix T71126: add old hotkeys to set start/end frame in the timeline to"

This caused T71483.
Having timeline and dopesheet merged in 2.8 makes using S/E keys in timeline 
not work well.
2.7x keymap needs to fit with 2.8x internals, so probably 2.7x keymap will have 
to live with Ctrl+Home / Ctrl+End here.

This reverts commit 4fbcbbfb967cb0fdff11dfc1646a1c55bca96f1d.

===

M   release/scripts/presets/keyconfig/keymap_data/blender_default.py

===

diff --git a/release/scripts/presets/keyconfig/keymap_data/blender_default.py 
b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
index 8a86ece53ce..6ad0ccf8a5f 100644
--- a/release/scripts/presets/keyconfig/keymap_data/blender_default.py
+++ b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
@@ -2855,17 +2855,6 @@ def km_animation(params):
 {"items": items},
 )
 
-if not params.legacy:
-items.extend([
-("anim.start_frame_set", {"type": 'HOME', "value": 'PRESS', 
"ctrl": True}, None),
-("anim.end_frame_set", {"type": 'END', "value": 'PRESS', "ctrl": 
True}, None),
-])
-else:
-items.extend([
-("anim.start_frame_set", {"type": 'S', "value": 'PRESS'}, None),
-("anim.end_frame_set", {"type": 'E', "value": 'PRESS'}, None),
-])
-
 items.extend([
 # Frame management.
 ("wm.context_toggle", {"type": 'T', "value": 'PRESS', "ctrl": True},
@@ -2873,6 +2862,8 @@ def km_animation(params):
 # Preview range.
 ("anim.previewrange_set", {"type": 'P', "value": 'PRESS'}, None),
 ("anim.previewrange_clear", {"type": 'P', "value": 'PRESS', "alt": 
True}, None),
+("anim.start_frame_set", {"type": 'HOME', "value": 'PRESS', "ctrl": 
True}, None),
+("anim.end_frame_set", {"type": 'END', "value": 'PRESS', "ctrl": 
True}, None),
 ])
 
 if params.select_mouse == 'LEFTMOUSE' and not params.legacy:

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [f44f09534b7] master: Merge branch 'blender-v2.81-release'

2019-11-11 Thread Philipp Oeser
Commit: f44f09534b77d2d6dde3b43fd6c1a6dfff0834b1
Author: Philipp Oeser
Date:   Mon Nov 11 10:07:37 2019 +0100
Branches: master
https://developer.blender.org/rBf44f09534b77d2d6dde3b43fd6c1a6dfff0834b1

Merge branch 'blender-v2.81-release'

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [a97cc5389ae] blender-v2.81-release: Fix T71452: instance collection to scene from outliner not incrementing collection usercount

2019-11-11 Thread Philipp Oeser
Commit: a97cc5389ae8d9ca8cc76a959f7edf4d38c50b88
Author: Philipp Oeser
Date:   Mon Nov 11 11:49:29 2019 +0100
Branches: blender-v2.81-release
https://developer.blender.org/rBa97cc5389ae8d9ca8cc76a959f7edf4d38c50b88

Fix T71452: instance collection to scene from outliner not incrementing 
collection usercount

Maniphest Tasks: T71452

Differential Revision: https://developer.blender.org/D6222

===

M   source/blender/editors/space_outliner/outliner_collections.c

===

diff --git a/source/blender/editors/space_outliner/outliner_collections.c 
b/source/blender/editors/space_outliner/outliner_collections.c
index 03606282fcd..183a96d1325 100644
--- a/source/blender/editors/space_outliner/outliner_collections.c
+++ b/source/blender/editors/space_outliner/outliner_collections.c
@@ -676,6 +676,7 @@ static int collection_instance_exec(bContext *C, wmOperator 
*UNUSED(op))
 ob->instance_collection = collection;
 ob->transflag |= OB_DUPLICOLLECTION;
 id_lib_extern(&collection->id);
+id_us_plus(&collection->id);
   }
 
   BLI_gset_free(data.collections_to_edit, NULL);

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [37bfb1fe178] master: Merge branch 'blender-v2.81-release'

2019-11-11 Thread Philipp Oeser
Commit: 37bfb1fe17840fcdf90704cbee5904ac2f6b788c
Author: Philipp Oeser
Date:   Mon Nov 11 17:38:07 2019 +0100
Branches: master
https://developer.blender.org/rB37bfb1fe17840fcdf90704cbee5904ac2f6b788c

Merge branch 'blender-v2.81-release'

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [65bc5041c35] blender-v2.81-release: Fix T71508: wrong gravity settings in scene defaults

2019-11-12 Thread Philipp Oeser
Commit: 65bc5041c35a086ce54827ad9c9f5caa028693e1
Author: Philipp Oeser
Date:   Tue Nov 12 10:49:25 2019 +0100
Branches: blender-v2.81-release
https://developer.blender.org/rB65bc5041c35a086ce54827ad9c9f5caa028693e1

Fix T71508: wrong gravity settings in scene defaults

Typo in rBf5e0dfe59c7e.
Showed when creating a new default scene.

Maniphest Tasks: T71508

Differential Revision: https://developer.blender.org/D6229

===

M   source/blender/makesdna/DNA_scene_defaults.h

===

diff --git a/source/blender/makesdna/DNA_scene_defaults.h 
b/source/blender/makesdna/DNA_scene_defaults.h
index 8d77e57c959..0b0cb8b14f3 100644
--- a/source/blender/makesdna/DNA_scene_defaults.h
+++ b/source/blender/makesdna/DNA_scene_defaults.h
@@ -171,7 +171,7 @@
 
 #define _DNA_DEFAULT_PhysicsSettings \
   { \
-.gravity = {0.0f, 0.0f -9.81f}, \
+.gravity = {0.0f, 0.0f, -9.81f}, \
 .flag = PHYS_GLOBAL_GRAVITY, \
   }

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [5b5dccbc80f] master: Merge branch 'blender-v2.81-release'

2019-11-12 Thread Philipp Oeser
Commit: 5b5dccbc80f792feed7023665a4cb10971cb1766
Author: Philipp Oeser
Date:   Tue Nov 12 12:24:19 2019 +0100
Branches: master
https://developer.blender.org/rB5b5dccbc80f792feed7023665a4cb10971cb1766

Merge branch 'blender-v2.81-release'

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [0f44af99e61] temp-lanpr-cleanup2: Fix T55632: USE_DRAG_MULTINUM and USE_ALLSELECT not working well together

2019-11-12 Thread Philipp Oeser
Commit: 0f44af99e61ea1c404af354240e2fd667d0063ec
Author: Philipp Oeser
Date:   Wed Nov 6 16:01:08 2019 +0100
Branches: temp-lanpr-cleanup2
https://developer.blender.org/rB0f44af99e61ea1c404af354240e2fd667d0063ec

Fix T55632: USE_DRAG_MULTINUM and USE_ALLSELECT not working well together

'is_copy' was not set correctly on all uiButMultiState (it was done once
for uiHandleButtonData), resulting in 'delta' being used on some indices
of the array and not others in `ui_selectcontext_apply`.

Maniphest Tasks: T55632

Differential Revision: https://developer.blender.org/D6201

===

M   source/blender/editors/interface/interface_handlers.c

===

diff --git a/source/blender/editors/interface/interface_handlers.c 
b/source/blender/editors/interface/interface_handlers.c
index e7d80306ecb..2d739899ae8 100644
--- a/source/blender/editors/interface/interface_handlers.c
+++ b/source/blender/editors/interface/interface_handlers.c
@@ -1086,6 +1086,9 @@ static void ui_multibut_add(uiHandleButtonData *data, 
uiBut *but)
   mbut_state = MEM_callocN(sizeof(*mbut_state), __func__);
   mbut_state->but = but;
   mbut_state->origvalue = ui_but_value_get(but);
+#  ifdef USE_ALLSELECT
+  mbut_state->select_others.is_copy = data->select_others.is_copy;
+#  endif
 
   BLI_linklist_prepend(&data->multi_data.mbuts, mbut_state);

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [ce958fee797] temp-lanpr-cleanup2: Fix T71405: Trying to Ctrl-C on many buttons crashes Blender

2019-11-12 Thread Philipp Oeser
Commit: ce958fee797dab7419ee9a121fdca41568276c7c
Author: Philipp Oeser
Date:   Thu Nov 7 17:53:05 2019 +0100
Branches: temp-lanpr-cleanup2
https://developer.blender.org/rBce958fee797dab7419ee9a121fdca41568276c7c

Fix T71405: Trying to Ctrl-C on many buttons crashes Blender

Usually Ctrl+C copies the operator name to the clipboard
["bpy.ops.material.new()", "bpy.ops.object.material_slot_remove()"]
Crash happens for all buttons of UI_BTYPE_BUT without associated
operator [some are defined with callbacks only, often these are created
with e.g uiDefIconBut (instead of e.g. uiDefIconButO)]

Other examples that crash with Ctrl+C:
- animation decorators next to animatable properties
- button to show a modifier texture in the texture tab
- ...

2.79 survived here (result in the clipboard was just not changed hitting
Ctrl+C on these buttons), this is what happens with this patch as well.

Maniphest Tasks: T71405

Differential Revision: https://developer.blender.org/D6208

===

M   source/blender/editors/interface/interface_handlers.c

===

diff --git a/source/blender/editors/interface/interface_handlers.c 
b/source/blender/editors/interface/interface_handlers.c
index 2d739899ae8..0b4adb33b1c 100644
--- a/source/blender/editors/interface/interface_handlers.c
+++ b/source/blender/editors/interface/interface_handlers.c
@@ -2528,6 +2528,9 @@ static void ui_but_copy(bContext *C, uiBut *but, const 
bool copy_array)
   break;
 
 case UI_BTYPE_BUT:
+  if (!but->optype) {
+break;
+  }
   ui_but_copy_operator(C, but, buf, buf_max_len);
   is_buf_set = true;
   break;

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [7ed3cea9c7b] temp-lanpr-cleanup2: Fix T71372: view layer is not maintained when area is duplicated into new window

2019-11-12 Thread Philipp Oeser
Commit: 7ed3cea9c7b1025c869666869c25c76050c5d441
Author: Philipp Oeser
Date:   Thu Nov 7 11:00:56 2019 +0100
Branches: temp-lanpr-cleanup2
https://developer.blender.org/rB7ed3cea9c7b1025c869666869c25c76050c5d441

Fix T71372: view layer is not maintained when area is duplicated into new window

Maniphest Tasks: T71372

Differential Revision: https://developer.blender.org/D6205

===

M   source/blender/editors/screen/screen_ops.c

===

diff --git a/source/blender/editors/screen/screen_ops.c 
b/source/blender/editors/screen/screen_ops.c
index c5e7d578e71..a5bb9f77052 100644
--- a/source/blender/editors/screen/screen_ops.c
+++ b/source/blender/editors/screen/screen_ops.c
@@ -1353,6 +1353,8 @@ static int area_dupli_invoke(bContext *C, wmOperator *op, 
const wmEvent *event)
 
   newwin->scene = scene;
 
+  STRNCPY(newwin->view_layer_name, win->view_layer_name);
+
   BKE_workspace_active_set(newwin->workspace_hook, workspace);
   /* allocs new screen and adds to newly created window, using window size */
   layout_new = ED_workspace_layout_add(

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [68a3bdae882] temp-lanpr-cleanup2: Revert "Fix T71126: add old hotkeys to set start/end frame in the timeline to"

2019-11-12 Thread Philipp Oeser
Commit: 68a3bdae8828c67c6ab43bbd7a1398fec84d0986
Author: Philipp Oeser
Date:   Mon Nov 11 09:59:41 2019 +0100
Branches: temp-lanpr-cleanup2
https://developer.blender.org/rB68a3bdae8828c67c6ab43bbd7a1398fec84d0986

Revert "Fix T71126: add old hotkeys to set start/end frame in the timeline to"

This caused T71483.
Having timeline and dopesheet merged in 2.8 makes using S/E keys in timeline 
not work well.
2.7x keymap needs to fit with 2.8x internals, so probably 2.7x keymap will have 
to live with Ctrl+Home / Ctrl+End here.

This reverts commit 4fbcbbfb967cb0fdff11dfc1646a1c55bca96f1d.

===

M   release/scripts/presets/keyconfig/keymap_data/blender_default.py

===

diff --git a/release/scripts/presets/keyconfig/keymap_data/blender_default.py 
b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
index c196acfcebf..b2ce3c8e608 100644
--- a/release/scripts/presets/keyconfig/keymap_data/blender_default.py
+++ b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
@@ -2859,17 +2859,6 @@ def km_animation(params):
 {"items": items},
 )
 
-if not params.legacy:
-items.extend([
-("anim.start_frame_set", {"type": 'HOME', "value": 'PRESS', 
"ctrl": True}, None),
-("anim.end_frame_set", {"type": 'END', "value": 'PRESS', "ctrl": 
True}, None),
-])
-else:
-items.extend([
-("anim.start_frame_set", {"type": 'S', "value": 'PRESS'}, None),
-("anim.end_frame_set", {"type": 'E', "value": 'PRESS'}, None),
-])
-
 items.extend([
 # Frame management.
 ("wm.context_toggle", {"type": 'T', "value": 'PRESS', "ctrl": True},
@@ -2877,6 +2866,8 @@ def km_animation(params):
 # Preview range.
 ("anim.previewrange_set", {"type": 'P', "value": 'PRESS'}, None),
 ("anim.previewrange_clear", {"type": 'P', "value": 'PRESS', "alt": 
True}, None),
+("anim.start_frame_set", {"type": 'HOME', "value": 'PRESS', "ctrl": 
True}, None),
+("anim.end_frame_set", {"type": 'END', "value": 'PRESS', "ctrl": 
True}, None),
 ])
 
 if params.select_mouse == 'LEFTMOUSE' and not params.legacy:

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [e5b788bad8b] master: Fix T68191: Make-instances-real doesn't select the new instances

2019-11-15 Thread Philipp Oeser
Commit: e5b788bad8bcb526fba273915290ef3abc9b24d2
Author: Philipp Oeser
Date:   Tue Nov 12 15:25:32 2019 +0100
Branches: master
https://developer.blender.org/rBe5b788bad8bcb526fba273915290ef3abc9b24d2

Fix T68191: Make-instances-real doesn't select the new instances

2.79 also did this [select the new instances] which was useful.
2.79 also kept the instancer selected [this patch deselects]

Reviewed By: mont29

Maniphest Tasks: T68191

Differential Revision: https://developer.blender.org/D6233

===

M   source/blender/editors/object/object_add.c

===

diff --git a/source/blender/editors/object/object_add.c 
b/source/blender/editors/object/object_add.c
index b15a245c0f2..f27e525449d 100644
--- a/source/blender/editors/object/object_add.c
+++ b/source/blender/editors/object/object_add.c
@@ -1803,6 +1803,9 @@ static void make_object_duplilist_real(bContext *C,
 base_dst = BKE_view_layer_base_find(view_layer, ob_dst);
 BLI_assert(base_dst != NULL);
 
+ED_object_base_select(base_dst, BA_SELECT);
+DEG_id_tag_update(&ob_dst->id, ID_RECALC_SELECT);
+
 BKE_scene_object_base_flag_sync_from_base(base_dst);
 
 /* make sure apply works */
@@ -1938,6 +1941,9 @@ static void make_object_duplilist_real(bContext *C,
 base->object->instance_collection = NULL;
   }
 
+  ED_object_base_select(base, BA_DESELECT);
+  DEG_id_tag_update(&base->object->id, ID_RECALC_SELECT);
+
   BLI_ghash_free(dupli_gh, NULL, NULL);
   if (parent_gh) {
 BLI_ghash_free(parent_gh, NULL, NULL);

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [08588d06e86] master: Fix T71554: 'Hide Unselected' not working for certain selections

2019-11-19 Thread Philipp Oeser
Commit: 08588d06e86a096c51ac70da53e74bab67f6a036
Author: Philipp Oeser
Date:   Thu Nov 14 12:31:36 2019 +0100
Branches: master
https://developer.blender.org/rB08588d06e86a096c51ac70da53e74bab67f6a036

Fix T71554: 'Hide Unselected' not working for certain selections

rBc6cbcf83d015 caused to early out e.g when not all faces were selected
(but surrounding faces were, so implicitly all vertices were selected).
Now take (mixed also) selection mode into account.

Maniphest Tasks: T71554

Differential Revision: https://developer.blender.org/D6254

===

M   source/blender/editors/mesh/editmesh_tools.c

===

diff --git a/source/blender/editors/mesh/editmesh_tools.c 
b/source/blender/editors/mesh/editmesh_tools.c
index eb50babf395..f5ff3d0655e 100644
--- a/source/blender/editors/mesh/editmesh_tools.c
+++ b/source/blender/editors/mesh/editmesh_tools.c
@@ -2094,8 +2094,20 @@ static int edbm_hide_exec(bContext *C, wmOperator *op)
 BMesh *bm = em->bm;
 
 if (unselected) {
-  if (bm->totvertsel == bm->totvert) {
-continue;
+  if (em->selectmode & SCE_SELECT_VERTEX) {
+if (bm->totvertsel == bm->totvert) {
+  continue;
+}
+  }
+  else if (em->selectmode & SCE_SELECT_EDGE) {
+if (bm->totedgesel == bm->totedge) {
+  continue;
+}
+  }
+  else if (em->selectmode & SCE_SELECT_FACE) {
+if (bm->totfacesel == bm->totface) {
+  continue;
+}
   }
 }
 else {

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [f1518d0f28f] master: Fix T71412: Add transform component to deforming modifier

2019-11-21 Thread Philipp Oeser
Commit: f1518d0f28fec4355d4c1e9a8d7dc22e9031be1c
Author: Philipp Oeser
Date:   Thu Nov 21 12:20:49 2019 +0100
Branches: master
https://developer.blender.org/rBf1518d0f28fec4355d4c1e9a8d7dc22e9031be1c

Fix T71412: Add transform component to deforming modifier

Dynamically bound mesh deform modifiers failed to update the viewport on
object transformation of deformer. The TODO by Sergey, which suggested
adding the transform component to the depsgraph, was already there, and
worked to fix T71412.

===

M   source/blender/modifiers/intern/MOD_meshdeform.c

===

diff --git a/source/blender/modifiers/intern/MOD_meshdeform.c 
b/source/blender/modifiers/intern/MOD_meshdeform.c
index 408e38f43ab..21fdc010a1d 100644
--- a/source/blender/modifiers/intern/MOD_meshdeform.c
+++ b/source/blender/modifiers/intern/MOD_meshdeform.c
@@ -158,7 +158,7 @@ static void updateDepsgraph(ModifierData *md, const 
ModifierUpdateDepsgraphConte
 {
   MeshDeformModifierData *mmd = (MeshDeformModifierData *)md;
   if (mmd->object != NULL) {
-/* TODO(sergey): Do we need transform component here? */
+DEG_add_object_relation(ctx->node, mmd->object, DEG_OB_COMP_TRANSFORM, 
"Mesh Deform Modifier");
 DEG_add_object_relation(ctx->node, mmd->object, DEG_OB_COMP_GEOMETRY, 
"Mesh Deform Modifier");
   }
 }

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [355905cb027] master: Fix T67873: View Selected in Graph Editor (Only Selected Curve Keyframes) takes hidden keys into account when calculating zoom

2019-11-21 Thread Philipp Oeser
Commit: 355905cb0278c368059fdecef8735b731d97b97c
Author: Philipp Oeser
Date:   Tue Nov 12 19:36:36 2019 +0100
Branches: master
https://developer.blender.org/rB355905cb0278c368059fdecef8735b731d97b97c

Fix T67873: View Selected in Graph Editor (Only Selected Curve
Keyframes) takes hidden keys into account when calculating zoom

Note that with the 'View Only Selected Curve Keyframes' option enabled,
it is also possible to select [box/circle/lasso] hidden/non-visible
keyframes. Think this should never happen, but that is for a later
commit (along some deduplication of animdata filtering code)

Reviewed By: Severin, Sybren

Maniphest Tasks: T67873

Differential Revision: https://developer.blender.org/D6237

===

M   source/blender/editors/space_graph/graph_edit.c

===

diff --git a/source/blender/editors/space_graph/graph_edit.c 
b/source/blender/editors/space_graph/graph_edit.c
index 1a488118403..e7a25f6c659 100644
--- a/source/blender/editors/space_graph/graph_edit.c
+++ b/source/blender/editors/space_graph/graph_edit.c
@@ -85,6 +85,7 @@ void get_graph_keyframe_extents(bAnimContext *ac,
 const bool include_handles)
 {
   Scene *scene = ac->scene;
+  SpaceGraph *sipo = (SpaceGraph *)ac->sl;
 
   ListBase anim_data = {NULL, NULL};
   bAnimListElem *ale;
@@ -92,6 +93,10 @@ void get_graph_keyframe_extents(bAnimContext *ac,
 
   /* get data to filter, from Dopesheet */
   filter = (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | 
ANIMFILTER_NODUPLIS);
+  if (sipo->flag & SIPO_SELCUVERTSONLY) {
+filter |= ANIMFILTER_SEL;
+  }
+
   ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
 
   /* set large values initial values that will be easy to override */

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [cee94789850] master: Fix T68499: weight paint gradient is broken with generative modifiers

2019-11-21 Thread Philipp Oeser
Commit: cee94789850e99fc68dd398e7d1abd67f0e2b85d
Author: Philipp Oeser
Date:   Wed Nov 20 21:08:42 2019 +0100
Branches: master
https://developer.blender.org/rBcee94789850e99fc68dd398e7d1abd67f0e2b85d

Fix T68499: weight paint gradient is broken with generative modifiers

Caused by rBac442da4a14d.

Above commit tweaked the logic to not only early out, but also set the
WPGradient_vertStore screen coord to FLT_MAX in case this original index
was visited before [gradientVertInit__mapFunc].
For generative modifiers though, we might get here multiple times for the
same orig index, resulting in a valid orig index being made invalid for
gradientVertUpdate__mapFunc [which would early out in case of FLT_MAX].

Restored original logic, so that setting FLT_MAX only really happens
when it should: when ED_view3d_project_float_object fails...

Maniphest Tasks: T68499

Differential Revision: https://developer.blender.org/D6282

===

M   source/blender/editors/sculpt_paint/paint_vertex_weight_ops.c

===

diff --git a/source/blender/editors/sculpt_paint/paint_vertex_weight_ops.c 
b/source/blender/editors/sculpt_paint/paint_vertex_weight_ops.c
index f0fe2d4ebdc..ae4ef59597b 100644
--- a/source/blender/editors/sculpt_paint/paint_vertex_weight_ops.c
+++ b/source/blender/editors/sculpt_paint/paint_vertex_weight_ops.c
@@ -665,13 +665,15 @@ static void gradientVertInit__mapFunc(void *userData,
* the screen coords of the verts need to be cached because
* updating the mesh may move them about (entering feedback loop) */
   if (BLI_BITMAP_TEST(grad_data->vert_visit, index)) {
-copy_v2_fl(vs->sco, FLT_MAX);
+/* Do not copy FLT_MAX here, for generative modifiers we are getting here
+ * multiple times with the same orig index. */
 return;
   }
 
   if (ED_view3d_project_float_object(
   grad_data->ar, co, vs->sco, V3D_PROJ_TEST_CLIP_BB | 
V3D_PROJ_TEST_CLIP_NEAR) !=
   V3D_PROJ_RET_OK) {
+copy_v2_fl(vs->sco, FLT_MAX);
 return;
   }

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [cfb7f508ce7] master: Fix T69332: 'Reset to Default Value' on a custom string property crashes

2019-11-22 Thread Philipp Oeser
Commit: cfb7f508ce76b8dea83da555e67813c161a6869d
Author: Philipp Oeser
Date:   Thu Nov 21 13:58:56 2019 +0100
Branches: master
https://developer.blender.org/rBcfb7f508ce76b8dea83da555e67813c161a6869d

Fix T69332: 'Reset to Default Value' on a custom string property crashes

Thx @campbellbarton for the heads up!

Maniphest Tasks: T69332

Differential Revision: https://developer.blender.org/D6284

===

M   source/blender/makesrna/intern/rna_access.c

===

diff --git a/source/blender/makesrna/intern/rna_access.c 
b/source/blender/makesrna/intern/rna_access.c
index aeb6d528cdb..78cd99837c3 100644
--- a/source/blender/makesrna/intern/rna_access.c
+++ b/source/blender/makesrna/intern/rna_access.c
@@ -3604,7 +3604,7 @@ char *RNA_property_string_get_default_alloc(PointerRNA 
*ptr,
 /* this is the length without \0 terminator */
 int RNA_property_string_default_length(PointerRNA *UNUSED(ptr), PropertyRNA 
*prop)
 {
-  StringPropertyRNA *sprop = (StringPropertyRNA *)prop;
+  StringPropertyRNA *sprop = (StringPropertyRNA *)rna_ensure_property(prop);
 
   BLI_assert(RNA_property_type(prop) == PROP_STRING);

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [3fa2b85bfd6] master: Fix T71864: Broken 'Select' > 'More' in face mode in UV Editor

2019-11-27 Thread Philipp Oeser
Commit: 3fa2b85bfd672156f7019252d00f8859c1bd5b22
Author: Philipp Oeser
Date:   Wed Nov 27 11:06:49 2019 +0100
Branches: master
https://developer.blender.org/rB3fa2b85bfd672156f7019252d00f8859c1bd5b22

Fix T71864: Broken 'Select' > 'More' in face mode in UV Editor

Caused by rBeead6a604602.

Above commit didnt account for different element types being tagged (face
select mode tagged faces, others tagged loops) and always flushed from
loops.

Now restore to flush from faces if we are in face select mode.

Maniphest Tasks: T71864

Differential Revision: https://developer.blender.org/D6315

===

M   source/blender/editors/uvedit/uvedit_ops.c

===

diff --git a/source/blender/editors/uvedit/uvedit_ops.c 
b/source/blender/editors/uvedit/uvedit_ops.c
index 0d258ba542b..eb3d47ba1b5 100644
--- a/source/blender/editors/uvedit/uvedit_ops.c
+++ b/source/blender/editors/uvedit/uvedit_ops.c
@@ -1478,6 +1478,8 @@ static int uv_select_more_less(bContext *C, const bool 
select)
   Object **objects = 
BKE_view_layer_array_from_objects_in_edit_mode_unique_data_with_uvs(
   view_layer, ((View3D *)NULL), &objects_len);
 
+  const bool is_uv_face_selectmode = (ts->uv_selectmode == UV_SELECT_FACE);
+
   for (uint ob_index = 0; ob_index < objects_len; ob_index++) {
 Object *obedit = objects[ob_index];
 BMEditMesh *em = BKE_editmesh_from_object(obedit);
@@ -1499,7 +1501,7 @@ static int uv_select_more_less(bContext *C, const bool 
select)
   continue;
 }
 
-if (ts->uv_selectmode == UV_SELECT_FACE) {
+if (is_uv_face_selectmode) {
 
   /* clear tags */
   BM_mesh_elem_hflag_disable_all(em->bm, BM_FACE, BM_ELEM_TAG, false);
@@ -1562,8 +1564,14 @@ static int uv_select_more_less(bContext *C, const bool 
select)
 }
 
 if (changed) {
-  /* Select tagged loops. */
-  uv_select_flush_from_tag_loop(sima, scene, obedit, select);
+  if (is_uv_face_selectmode) {
+/* Select tagged faces. */
+uv_select_flush_from_tag_face(sima, scene, obedit, select);
+  }
+  else {
+/* Select tagged loops. */
+uv_select_flush_from_tag_loop(sima, scene, obedit, select);
+  }
   DEG_id_tag_update(obedit->data, ID_RECALC_SELECT);
   WM_event_add_notifier(C, NC_GEOM | ND_SELECT, obedit->data);
 }

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [6992fc0b3bf] master: Add 'EDBM_selectmode_disable_multi' and use in knifeproject

2019-11-27 Thread Philipp Oeser
Commit: 6992fc0b3bf85e985169157b2e7ced1e1ed7fcdf
Author: Philipp Oeser
Date:   Wed Nov 27 15:02:41 2019 +0100
Branches: master
https://developer.blender.org/rB6992fc0b3bf85e985169157b2e7ced1e1ed7fcdf

Add 'EDBM_selectmode_disable_multi' and use in knifeproject

As a followup to rB6f4e595e9ba9 and as per @campbellbarton suggestion,
this adds EDBM_selectmode_disable_multi, similar to
EDBM_mesh_deselect_all_multi & EDBM_mesh_deselect_all, so other similar
uses don't need to be done in a loop.

Also, selected_objects isn't a reliable way to handle this case - since
objects can be in edit-mode & not selected, use
BKE_view_layer_array_from_bases_in_edit_mode_unique_data instead

Differential Revision: https://developer.blender.org/D6317

===

M   source/blender/editors/include/ED_mesh.h
M   source/blender/editors/mesh/editmesh_knife_project.c
M   source/blender/editors/mesh/editmesh_select.c

===

diff --git a/source/blender/editors/include/ED_mesh.h 
b/source/blender/editors/include/ED_mesh.h
index fc7b0d8be8f..835e1b4e26f 100644
--- a/source/blender/editors/include/ED_mesh.h
+++ b/source/blender/editors/include/ED_mesh.h
@@ -236,6 +236,14 @@ void em_setup_viewcontext(struct bContext *C, struct 
ViewContext *vc); /* rename
 
 bool EDBM_mesh_deselect_all_multi_ex(struct Base **bases, const uint 
bases_len);
 bool EDBM_mesh_deselect_all_multi(struct bContext *C);
+bool EDBM_selectmode_disable_multi_ex(struct Scene *scene,
+  struct Base **bases,
+  const uint bases_len,
+  const short selectmode_disable,
+  const short selectmode_fallback);
+bool EDBM_selectmode_disable_multi(struct bContext *C,
+   const short selectmode_disable,
+   const short selectmode_fallback);
 
 /* editmesh_preselect_edgering.c */
 struct EditMesh_PreSelEdgeRing;
diff --git a/source/blender/editors/mesh/editmesh_knife_project.c 
b/source/blender/editors/mesh/editmesh_knife_project.c
index a709bd010aa..ebd1e62e596 100644
--- a/source/blender/editors/mesh/editmesh_knife_project.c
+++ b/source/blender/editors/mesh/editmesh_knife_project.c
@@ -22,7 +22,6 @@
  */
 
 #include "DNA_curve_types.h"
-#include "DNA_mesh_types.h"
 #include "DNA_object_types.h"
 
 #include "BLI_math.h"
@@ -143,21 +142,7 @@ static int knifeproject_exec(bContext *C, wmOperator *op)
 /* select only tagged faces */
 BM_mesh_elem_hflag_disable_all(em->bm, BM_VERT | BM_EDGE | BM_FACE, 
BM_ELEM_SELECT, false);
 
-CTX_DATA_BEGIN (C, Object *, ob, selected_objects) {
-  if (ob->type == OB_MESH) {
-Mesh *me = (Mesh *)ob->data;
-BMEditMesh *embm = me->edit_mesh;
-if (embm) {
-  /* not essential, but switch out of vertex mode since the
-   * selected regions wont be nicely isolated after flushing.
-   * note: call after de-select to avoid selection flushing.
-   * note: do this on all participating meshes so this is in sync
-   * e.g. for later selection picking, see T68852.*/
-  EDBM_selectmode_disable(scene, embm, SCE_SELECT_VERTEX, 
SCE_SELECT_EDGE);
-}
-  }
-}
-CTX_DATA_END;
+EDBM_selectmode_disable_multi(C, SCE_SELECT_VERTEX, SCE_SELECT_EDGE);
 
 BM_mesh_elem_hflag_enable_test(em->bm, BM_FACE, BM_ELEM_SELECT, true, 
false, BM_ELEM_TAG);
 
diff --git a/source/blender/editors/mesh/editmesh_select.c 
b/source/blender/editors/mesh/editmesh_select.c
index 7955ccc0977..40d57af97aa 100644
--- a/source/blender/editors/mesh/editmesh_select.c
+++ b/source/blender/editors/mesh/editmesh_select.c
@@ -2653,6 +2653,41 @@ bool EDBM_mesh_deselect_all_multi(struct bContext *C)
   return changed_multi;
 }
 
+bool EDBM_selectmode_disable_multi_ex(Scene *scene,
+  struct Base **bases,
+  const uint bases_len,
+  const short selectmode_disable,
+  const short selectmode_fallback)
+{
+  bool changed_multi = false;
+  for (uint base_index = 0; base_index < bases_len; base_index++) {
+Base *base_iter = bases[base_index];
+Object *ob_iter = base_iter->object;
+BMEditMesh *em_iter = BKE_editmesh_from_object(ob_iter);
+
+EDBM_selectmode_disable(scene, em_iter, selectmode_disable, 
selectmode_fallback);
+changed_multi = true;
+  }
+  return changed_multi;
+}
+
+bool EDBM_selectmode_disable_multi(struct bContext *C,
+   const short selectmode_disable,
+   const short selectmode_fallback)
+{
+  Depsgraph *depsgraph = CTX_d

[Bf-blender-cvs] [60e817693ce] blender-v2.81-release: Fix T69332: 'Reset to Default Value' on a custom string property crashes

2019-12-03 Thread Philipp Oeser
Commit: 60e817693ce707842dc8521a6ee94ce1778e6372
Author: Philipp Oeser
Date:   Thu Nov 21 13:58:56 2019 +0100
Branches: blender-v2.81-release
https://developer.blender.org/rB60e817693ce707842dc8521a6ee94ce1778e6372

Fix T69332: 'Reset to Default Value' on a custom string property crashes

Thx @campbellbarton for the heads up!

Maniphest Tasks: T69332

Differential Revision: https://developer.blender.org/D6284

===

M   source/blender/makesrna/intern/rna_access.c

===

diff --git a/source/blender/makesrna/intern/rna_access.c 
b/source/blender/makesrna/intern/rna_access.c
index aeb6d528cdb..78cd99837c3 100644
--- a/source/blender/makesrna/intern/rna_access.c
+++ b/source/blender/makesrna/intern/rna_access.c
@@ -3604,7 +3604,7 @@ char *RNA_property_string_get_default_alloc(PointerRNA 
*ptr,
 /* this is the length without \0 terminator */
 int RNA_property_string_default_length(PointerRNA *UNUSED(ptr), PropertyRNA 
*prop)
 {
-  StringPropertyRNA *sprop = (StringPropertyRNA *)prop;
+  StringPropertyRNA *sprop = (StringPropertyRNA *)rna_ensure_property(prop);
 
   BLI_assert(RNA_property_type(prop) == PROP_STRING);

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [bdfcee347eb] blender-v2.81-release: Fix T71864: Broken 'Select' > 'More' in face mode in UV Editor

2019-12-03 Thread Philipp Oeser
Commit: bdfcee347ebe26cda5b5d51ce6006a6766e97842
Author: Philipp Oeser
Date:   Wed Nov 27 11:06:49 2019 +0100
Branches: blender-v2.81-release
https://developer.blender.org/rBbdfcee347ebe26cda5b5d51ce6006a6766e97842

Fix T71864: Broken 'Select' > 'More' in face mode in UV Editor

Caused by rBeead6a604602.

Above commit didnt account for different element types being tagged (face
select mode tagged faces, others tagged loops) and always flushed from
loops.

Now restore to flush from faces if we are in face select mode.

Maniphest Tasks: T71864

Differential Revision: https://developer.blender.org/D6315

===

M   source/blender/editors/uvedit/uvedit_ops.c

===

diff --git a/source/blender/editors/uvedit/uvedit_ops.c 
b/source/blender/editors/uvedit/uvedit_ops.c
index 0d258ba542b..eb3d47ba1b5 100644
--- a/source/blender/editors/uvedit/uvedit_ops.c
+++ b/source/blender/editors/uvedit/uvedit_ops.c
@@ -1478,6 +1478,8 @@ static int uv_select_more_less(bContext *C, const bool 
select)
   Object **objects = 
BKE_view_layer_array_from_objects_in_edit_mode_unique_data_with_uvs(
   view_layer, ((View3D *)NULL), &objects_len);
 
+  const bool is_uv_face_selectmode = (ts->uv_selectmode == UV_SELECT_FACE);
+
   for (uint ob_index = 0; ob_index < objects_len; ob_index++) {
 Object *obedit = objects[ob_index];
 BMEditMesh *em = BKE_editmesh_from_object(obedit);
@@ -1499,7 +1501,7 @@ static int uv_select_more_less(bContext *C, const bool 
select)
   continue;
 }
 
-if (ts->uv_selectmode == UV_SELECT_FACE) {
+if (is_uv_face_selectmode) {
 
   /* clear tags */
   BM_mesh_elem_hflag_disable_all(em->bm, BM_FACE, BM_ELEM_TAG, false);
@@ -1562,8 +1564,14 @@ static int uv_select_more_less(bContext *C, const bool 
select)
 }
 
 if (changed) {
-  /* Select tagged loops. */
-  uv_select_flush_from_tag_loop(sima, scene, obedit, select);
+  if (is_uv_face_selectmode) {
+/* Select tagged faces. */
+uv_select_flush_from_tag_face(sima, scene, obedit, select);
+  }
+  else {
+/* Select tagged loops. */
+uv_select_flush_from_tag_loop(sima, scene, obedit, select);
+  }
   DEG_id_tag_update(obedit->data, ID_RECALC_SELECT);
   WM_event_add_notifier(C, NC_GEOM | ND_SELECT, obedit->data);
 }

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [029a714fc72] master: Fix T75234: Saving UDIM tiled texture as OpenEXR saves only the first tile

2020-04-01 Thread Philipp Oeser
Commit: 029a714fc72d79a4dc8d80c3397c308112a7fea9
Author: Philipp Oeser
Date:   Tue Mar 31 17:51:50 2020 +0200
Branches: master
https://developer.blender.org/rB029a714fc72d79a4dc8d80c3397c308112a7fea9

Fix T75234: Saving UDIM tiled texture as OpenEXR saves only the first
tile

This happened when the UDIM tiled image needed to be colormanaged, so
- when you set up the image as sRGB, then save as EXR/HDR/...
- other way around as well: when you set up the images as Linear then
save as PNG/JPG/...

Reason being that for UDIM tiled images, `image_save_single` is called
multiple times [once for each tile] and everytime `image_save_post` will
fire the `IMA_SIGNAL_COLORMANAGE` signal which clears the cache if any of
the above two is the case. Without the cache, the next tiles cannot be
saved.

Now determine if the colorspace changed from
`image_save_single`/'image_save_post' and only fire
IMA_SIGNAL_COLORMANAGE once from BKE_image_save in the end.
(thx @brecht for suggesting this alternative to the original fix)

Maniphest Tasks: T75234

Differential Revision: https://developer.blender.org/D7296

===

M   source/blender/blenkernel/intern/image_save.c

===

diff --git a/source/blender/blenkernel/intern/image_save.c 
b/source/blender/blenkernel/intern/image_save.c
index bd570c9688b..b2e0f234f1e 100644
--- a/source/blender/blenkernel/intern/image_save.c
+++ b/source/blender/blenkernel/intern/image_save.c
@@ -54,13 +54,13 @@ void BKE_image_save_options_init(ImageSaveOptions *opts, 
Main *bmain, Scene *sce
 }
 
 static void image_save_post(ReportList *reports,
-Main *bmain,
 Image *ima,
 ImBuf *ibuf,
 int ok,
 ImageSaveOptions *opts,
 int save_copy,
-const char *filepath)
+const char *filepath,
+bool *r_colorspace_changed)
 {
   if (!ok) {
 BKE_reportf(reports, RPT_ERROR, "Could not write image: %s", 
strerror(errno));
@@ -114,7 +114,7 @@ static void image_save_post(ReportList *reports,
   IMB_colormanagement_colorspace_from_ibuf_ftype(&ima->colorspace_settings, 
ibuf);
   if (!BKE_color_managed_colorspace_settings_equals(&old_colorspace_settings,
 
&ima->colorspace_settings)) {
-BKE_image_signal(bmain, ima, NULL, IMA_SIGNAL_COLORMANAGE);
+*r_colorspace_changed = true;
   }
 }
 
@@ -138,8 +138,11 @@ static void imbuf_save_post(ImBuf *ibuf, ImBuf 
*colormanaged_ibuf)
  * \note ``ima->name`` and ``ibuf->name`` should end up the same.
  * \note for multiview the first ``ibuf`` is important to get the settings.
  */
-static bool image_save_single(
-ReportList *reports, Main *bmain, Image *ima, ImageUser *iuser, 
ImageSaveOptions *opts)
+static bool image_save_single(ReportList *reports,
+  Image *ima,
+  ImageUser *iuser,
+  ImageSaveOptions *opts,
+  bool *r_colorspace_changed)
 {
   void *lock;
   ImBuf *ibuf = BKE_image_acquire_ibuf(ima, iuser, &lock);
@@ -223,7 +226,7 @@ static bool image_save_single(
   if (imf->views_format == R_IMF_VIEWS_MULTIVIEW && is_exr_rr) {
 /* save render result */
 ok = RE_WriteRenderResult(reports, rr, opts->filepath, imf, NULL, layer);
-image_save_post(reports, bmain, ima, ibuf, ok, opts, true, opts->filepath);
+image_save_post(reports, ima, ibuf, ok, opts, true, opts->filepath, 
r_colorspace_changed);
 BKE_image_release_ibuf(ima, ibuf, lock);
   }
   /* regular mono pipeline */
@@ -237,8 +240,14 @@ static bool image_save_single(
   ok = BKE_imbuf_write_as(colormanaged_ibuf, opts->filepath, imf, 
save_copy);
   imbuf_save_post(ibuf, colormanaged_ibuf);
 }
-image_save_post(
-reports, bmain, ima, ibuf, ok, opts, (is_exr_rr ? true : save_copy), 
opts->filepath);
+image_save_post(reports,
+ima,
+ibuf,
+ok,
+opts,
+(is_exr_rr ? true : save_copy),
+opts->filepath,
+r_colorspace_changed);
 BKE_image_release_ibuf(ima, ibuf, lock);
   }
   /* individual multiview images */
@@ -260,7 +269,7 @@ static bool image_save_single(
   if (is_exr_rr) {
 BKE_scene_multiview_view_filepath_get(&opts->scene->r, opts->filepath, 
view, filepath);
 ok_view = RE_WriteRenderResult(reports, rr, filepath, imf, view, 
layer);
-image_save_post(reports, bmain, ima, ibuf, ok_view, opts, true, 
filepath);
+image_save_post(reports, ima, ibuf, ok_view, opts

[Bf-blender-cvs] [f8c4f5e3085] master: Add a "selected_nla_strips" context member

2020-04-01 Thread Philipp Oeser
Commit: f8c4f5e3085998c7db55fb490cb04c48c575a222
Author: Philipp Oeser
Date:   Mon Mar 30 19:33:13 2020 +0200
Branches: master
https://developer.blender.org/rBf8c4f5e3085998c7db55fb490cb04c48c575a222

Add a "selected_nla_strips" context member

Needed for upcomming fix for T66494.

ref T66494 / D7281

===

M   source/blender/editors/screen/screen_context.c

===

diff --git a/source/blender/editors/screen/screen_context.c 
b/source/blender/editors/screen/screen_context.c
index 9536772be3d..ea29e2f611c 100644
--- a/source/blender/editors/screen/screen_context.c
+++ b/source/blender/editors/screen/screen_context.c
@@ -27,6 +27,7 @@
 
 #include "MEM_guardedalloc.h"
 
+#include "DNA_anim_types.h"
 #include "DNA_armature_types.h"
 #include "DNA_gpencil_types.h"
 #include "DNA_object_types.h"
@@ -88,6 +89,7 @@ const char *screen_context_dir[] = {
 "sequences",
 "selected_sequences",
 "selected_editable_sequences", /* sequencer */
+"selected_nla_strips", /* nla editor */
 "gpencil_data",
 "gpencil_data_owner", /* grease pencil data */
 "annotation_data",
@@ -503,6 +505,28 @@ int ed_screen_context(const bContext *C, const char 
*member, bContextDataResult
   return 1;
 }
   }
+  else if (CTX_data_equals(member, "selected_nla_strips")) {
+ bAnimContext ac;
+if (ANIM_animdata_get_context(C, &ac) != 0) {
+  ListBase anim_data = {NULL, NULL};
+  bAnimListElem *ale;
+
+  ANIM_animdata_filter(&ac, &anim_data, ANIMFILTER_DATA_VISIBLE, ac.data, 
ac.datatype);
+  for (ale = anim_data.first; ale; ale = ale->next) {
+NlaTrack *nlt = (NlaTrack *)ale->data;
+NlaStrip *strip;
+for (strip = nlt->strips.first; strip; strip = strip->next) {
+  if (strip->flag & NLASTRIP_FLAG_SELECT) {
+CTX_data_list_add(result, &scene->id, &RNA_NlaStrip, strip);
+  }
+}
+  }
+  ANIM_animdata_freelist(&anim_data);
+
+  CTX_data_type_set(result, CTX_DATA_TYPE_COLLECTION);
+  return 1;
+}
+  }
   else if (CTX_data_equals(member, "gpencil_data")) {
 /* FIXME: for some reason, CTX_data_active_object(C) returns NULL when 
called from these
  * situations (as outlined above - see Campbell's #ifdefs).

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [60ff3a7daff] master: Fix T66494: Alt+ clicking (assign to all selected) does not work for NLA strips

2020-04-01 Thread Philipp Oeser
Commit: 60ff3a7daff75e631993e6e5d284746442e824f3
Author: Philipp Oeser
Date:   Wed Apr 1 10:24:16 2020 +0200
Branches: master
https://developer.blender.org/rB60ff3a7daff75e631993e6e5d284746442e824f3

Fix T66494: Alt+ clicking (assign to all selected) does not work for NLA
strips

This uses the new "selected_nla_strips" context member in
UI_context_copy_to_selected_list().

bonus: this also makes the "Copy To Selected" button operator [in the
button context menu] work for anything NLA Strip related.

Maniphest Tasks: T66494

Differential Revision: https://developer.blender.org/D7281

===

M   source/blender/editors/interface/interface_ops.c

===

diff --git a/source/blender/editors/interface/interface_ops.c 
b/source/blender/editors/interface/interface_ops.c
index 519ba4cbbdf..b418cb4a1ac 100644
--- a/source/blender/editors/interface/interface_ops.c
+++ b/source/blender/editors/interface/interface_ops.c
@@ -807,6 +807,9 @@ bool UI_context_copy_to_selected_list(bContext *C,
   else if (RNA_struct_is_a(ptr->type, &RNA_FCurve)) {
 *r_lb = CTX_data_collection_get(C, "selected_editable_fcurves");
   }
+  else if (RNA_struct_is_a(ptr->type, &RNA_NlaStrip)) {
+*r_lb = CTX_data_collection_get(C, "selected_nla_strips");
+  }
   else if (RNA_struct_is_a(ptr->type, &RNA_Constraint) &&
(path_from_bone = RNA_path_resolve_from_type_to_property(ptr, prop, 
&RNA_PoseBone)) !=
NULL) {

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [9aad06db888] master: Fix T75315: typo in automasking UI text

2020-04-03 Thread Philipp Oeser
Commit: 9aad06db8880a4097ab6c0f019185aa6671e55a6
Author: Philipp Oeser
Date:   Fri Apr 3 10:19:01 2020 +0200
Branches: master
https://developer.blender.org/rB9aad06db8880a4097ab6c0f019185aa6671e55a6

Fix T75315: typo in automasking UI text

===

M   source/blender/makesrna/intern/rna_brush.c

===

diff --git a/source/blender/makesrna/intern/rna_brush.c 
b/source/blender/makesrna/intern/rna_brush.c
index fed81b86417..b625b3f0a84 100644
--- a/source/blender/makesrna/intern/rna_brush.c
+++ b/source/blender/makesrna/intern/rna_brush.c
@@ -2242,7 +2242,7 @@ static void rna_def_brush(BlenderRNA *brna)
   RNA_def_property_ui_range(prop, 1, 20, 1, 3);
   RNA_def_property_ui_text(prop,
"Propagation Steps",
-   "Distance where boundary edge automaking is going 
to protect vertices "
+   "Distance where boundary edge automasking is going 
to protect vertices "
"from the fully masked edge");
   RNA_def_property_update(prop, 0, "rna_Brush_update");

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [a2a70cfc41e] master: Cleanup: typo in comment

2020-04-03 Thread Philipp Oeser
Commit: a2a70cfc41edf3f8d63dcc6bc8d6b946583bec1a
Author: Philipp Oeser
Date:   Wed Apr 1 18:33:58 2020 +0200
Branches: master
https://developer.blender.org/rBa2a70cfc41edf3f8d63dcc6bc8d6b946583bec1a

Cleanup: typo in comment

===

M   source/blender/editors/space_info/info_stats.c

===

diff --git a/source/blender/editors/space_info/info_stats.c 
b/source/blender/editors/space_info/info_stats.c
index 78bc0961cb3..e0e6edda850 100644
--- a/source/blender/editors/space_info/info_stats.c
+++ b/source/blender/editors/space_info/info_stats.c
@@ -582,8 +582,8 @@ void ED_info_stats_clear(ViewLayer *view_layer)
 
 const char *ED_info_stats_string(Main *bmain, Scene *scene, ViewLayer 
*view_layer)
 {
-  /* Looping through dependency graph when interface is locked in not safe.
-   * Thew interface is marked as locked when jobs wants to modify the
+  /* Looping through dependency graph when interface is locked is not safe.
+   * The interface is marked as locked when jobs wants to modify the
* dependency graph. */
   wmWindowManager *wm = bmain->wm.first;
   if (wm->is_interface_locked) {

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [fe7ea8a24c8] master: Fix T75250: setting greasepencil active layer not refreshing the dopesheet

2020-04-03 Thread Philipp Oeser
Commit: fe7ea8a24c8a147078d033b76d9a37a84042368c
Author: Philipp Oeser
Date:   Thu Apr 2 16:52:43 2020 +0200
Branches: master
https://developer.blender.org/rBfe7ea8a24c8a147078d033b76d9a37a84042368c

Fix T75250: setting greasepencil active layer not refreshing the dopesheet

This was only reported for the 'Change Active Layer' operator [which was
not setting the channel as selected in the dopesheet], but this is also
the case elsewhere [where BKE_gpencil_layer_active_set is used], namely:
- gp_layer_remove_exec
- gp_layer_copy_exec
- gp_merge_layer_exec
- gp_layer_change_exec
- gp_layer_active_exec
- gp_stroke_separate_exec

We could set GP_LAYER_SELECT "by hand" in
BKE_gpencil_layer_active_set(), but there is already
animchan_sync_gplayer() that does that. For this, we need the
NA_SELECTED notifier though.

Maniphest Tasks: T75250

Differential Revision: https://developer.blender.org/D7311

===

M   source/blender/editors/gpencil/gpencil_data.c
M   source/blender/editors/gpencil/gpencil_edit.c

===

diff --git a/source/blender/editors/gpencil/gpencil_data.c 
b/source/blender/editors/gpencil/gpencil_data.c
index 898facb86e8..a12f960c29e 100644
--- a/source/blender/editors/gpencil/gpencil_data.c
+++ b/source/blender/editors/gpencil/gpencil_data.c
@@ -331,6 +331,7 @@ static int gp_layer_remove_exec(bContext *C, wmOperator *op)
   /* notifiers */
   DEG_id_tag_update(&gpd->id, ID_RECALC_TRANSFORM | ID_RECALC_GEOMETRY);
   WM_event_add_notifier(C, NC_GPENCIL | ND_DATA | NA_EDITED, NULL);
+  WM_event_add_notifier(C, NC_GPENCIL | ND_DATA | NA_SELECTED, NULL);
 
   return OPERATOR_FINISHED;
 }
@@ -478,6 +479,7 @@ static int gp_layer_copy_exec(bContext *C, wmOperator 
*UNUSED(op))
   /* notifiers */
   DEG_id_tag_update(&gpd->id, ID_RECALC_TRANSFORM | ID_RECALC_GEOMETRY);
   WM_event_add_notifier(C, NC_GPENCIL | ND_DATA | NA_EDITED, NULL);
+  WM_event_add_notifier(C, NC_GPENCIL | ND_DATA | NA_SELECTED, NULL);
 
   return OPERATOR_FINISHED;
 }
@@ -1228,6 +1230,7 @@ static int gp_merge_layer_exec(bContext *C, wmOperator 
*op)
   /* notifiers */
   DEG_id_tag_update(&gpd->id, ID_RECALC_TRANSFORM | ID_RECALC_GEOMETRY);
   WM_event_add_notifier(C, NC_GPENCIL | ND_DATA | NA_EDITED, NULL);
+  WM_event_add_notifier(C, NC_GPENCIL | ND_DATA | NA_SELECTED, NULL);
 
   return OPERATOR_FINISHED;
 }
@@ -1291,6 +1294,7 @@ static int gp_layer_change_exec(bContext *C, wmOperator 
*op)
   /* updates */
   DEG_id_tag_update(&gpd->id, ID_RECALC_TRANSFORM | ID_RECALC_GEOMETRY);
   WM_event_add_notifier(C, NC_GPENCIL | ND_DATA | NA_EDITED, NULL);
+  WM_event_add_notifier(C, NC_GPENCIL | ND_DATA | NA_SELECTED, NULL);
 
   return OPERATOR_FINISHED;
 }
@@ -1336,6 +1340,7 @@ static int gp_layer_active_exec(bContext *C, wmOperator 
*op)
   /* updates */
   DEG_id_tag_update(&gpd->id, ID_RECALC_TRANSFORM | ID_RECALC_GEOMETRY);
   WM_event_add_notifier(C, NC_GPENCIL | ND_DATA | NA_EDITED, NULL);
+  WM_event_add_notifier(C, NC_GPENCIL | ND_DATA | NA_SELECTED, NULL);
 
   return OPERATOR_FINISHED;
 }
diff --git a/source/blender/editors/gpencil/gpencil_edit.c 
b/source/blender/editors/gpencil/gpencil_edit.c
index 91169b34e34..8c31df02a11 100644
--- a/source/blender/editors/gpencil/gpencil_edit.c
+++ b/source/blender/editors/gpencil/gpencil_edit.c
@@ -4364,6 +4364,7 @@ static int gp_stroke_separate_exec(bContext *C, 
wmOperator *op)
   DEG_relations_tag_update(bmain);
   WM_event_add_notifier(C, NC_OBJECT | ND_DRAW, NULL);
   WM_event_add_notifier(C, NC_GPENCIL | ND_DATA | NA_EDITED, NULL);
+  WM_event_add_notifier(C, NC_GPENCIL | ND_DATA | NA_SELECTED, NULL);
 
   return OPERATOR_FINISHED;
 }

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [cc0819aee11] master: Fix (unreported) wrong hair vertex colors

2020-04-06 Thread Philipp Oeser
Commit: cc0819aee119ad7a9dc9c383ec6895208ea1a184
Author: Philipp Oeser
Date:   Thu Apr 2 11:28:03 2020 +0200
Branches: master
https://developer.blender.org/rBcc0819aee119ad7a9dc9c383ec6895208ea1a184

Fix (unreported) wrong hair vertex colors

This was already fixed in rB985f33719ce9 once.
But resurfaced after rB7070e4c15e6c [which just reverted a bit too much
;)].

Spotted while looking into T75263.

Differential Revision: https://developer.blender.org/D7308

===

M   source/blender/draw/intern/draw_cache_impl_particles.c

===

diff --git a/source/blender/draw/intern/draw_cache_impl_particles.c 
b/source/blender/draw/intern/draw_cache_impl_particles.c
index dca4f8e01e6..331a1f80bec 100644
--- a/source/blender/draw/intern/draw_cache_impl_particles.c
+++ b/source/blender/draw/intern/draw_cache_impl_particles.c
@@ -339,7 +339,8 @@ static void particle_calculate_parent_mcol(ParticleSystem 
*psys,
   if (num != DMCACHE_NOTFOUND && num != DMCACHE_ISCHILD) {
 MFace *mface = &psmd->mesh_final->mface[num];
 for (int j = 0; j < num_col_layers; j++) {
-  psys_interpolate_mcol(mcols[j] + num, mface->v4, particle->fuv, 
&r_mcol[j]);
+  /* CustomDataLayer CD_MCOL has 4 structs per face. */
+  psys_interpolate_mcol(mcols[j] + num * 4, mface->v4, particle->fuv, 
&r_mcol[j]);
 }
   }
 }
@@ -388,6 +389,7 @@ static void 
particle_interpolate_children_mcol(ParticleSystem *psys,
   if (num != DMCACHE_NOTFOUND) {
 MFace *mface = &psmd->mesh_final->mface[num];
 for (int j = 0; j < num_col_layers; j++) {
+  /* CustomDataLayer CD_MCOL has 4 structs per face. */
   psys_interpolate_mcol(mcols[j] + num * 4, mface->v4, particle->fuv, 
&r_mcol[j]);
 }
   }

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [c03e5e78308] master: Fix T75418: Outliner Blender File view has UNKNOWN category for armatures

2020-04-06 Thread Philipp Oeser
Commit: c03e5e78308c13e2d4a7d06fef84070f5044738f
Author: Philipp Oeser
Date:   Mon Apr 6 13:03:15 2020 +0200
Branches: master
https://developer.blender.org/rBc03e5e78308c13e2d4a7d06fef84070f5044738f

Fix T75418: Outliner Blender File view has UNKNOWN category for armatures

Typo in rB57daecc2cf88.

Maniphest Tasks: T75418

Differential Revision: https://developer.blender.org/D7346

===

M   source/blender/blenkernel/intern/armature.c

===

diff --git a/source/blender/blenkernel/intern/armature.c 
b/source/blender/blenkernel/intern/armature.c
index daf364432f4..af98992cc01 100644
--- a/source/blender/blenkernel/intern/armature.c
+++ b/source/blender/blenkernel/intern/armature.c
@@ -156,7 +156,7 @@ IDTypeInfo IDType_ID_AR = {
 .main_listbase_index = INDEX_ID_AR,
 .struct_size = sizeof(bArmature),
 .name = "Armature",
-.name_plural = "armature",
+.name_plural = "armatures",
 .translation_context = BLT_I18NCONTEXT_ID_ARMATURE,
 .flags = 0,

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [5e0465e4ecb] master: Fix T75343: Wireframe overylay is not working properly with multiple modifiers

2020-04-07 Thread Philipp Oeser
Commit: 5e0465e4ecba5349418f3b76b3d0061788047e9a
Author: Philipp Oeser
Date:   Sat Apr 4 11:14:45 2020 +0200
Branches: master
https://developer.blender.org/rB5e0465e4ecba5349418f3b76b3d0061788047e9a

Fix T75343: Wireframe overylay is not working properly with multiple modifiers

Since rBcf258b02f449, only wires and edges that are mapped to the
original mesh were drawn if the mesh was modified by modifiers.
Above commit was only meant for showing orig wires for paint mask
overlays [where final wireframe is not desired], so now only use
MR_EXTRACT_MAPPED when we are in a paint mode.

Maniphest Tasks: T75343

Differential Revision: https://developer.blender.org/D7333

===

M   source/blender/draw/intern/draw_cache_extract.h
M   source/blender/draw/intern/draw_cache_extract_mesh.c
M   source/blender/draw/intern/draw_cache_impl_mesh.c

===

diff --git a/source/blender/draw/intern/draw_cache_extract.h 
b/source/blender/draw/intern/draw_cache_extract.h
index 0e02b07e95b..b2fea957227 100644
--- a/source/blender/draw/intern/draw_cache_extract.h
+++ b/source/blender/draw/intern/draw_cache_extract.h
@@ -253,6 +253,7 @@ void mesh_buffer_cache_create_requested(MeshBatchCache 
*cache,
 MeshBufferCache mbc,
 Mesh *me,
 const bool is_editmode,
+const bool is_paint_mode,
 const float obmat[4][4],
 const bool do_final,
 const bool do_uvedit,
diff --git a/source/blender/draw/intern/draw_cache_extract_mesh.c 
b/source/blender/draw/intern/draw_cache_extract_mesh.c
index 70fe6a55461..0449601adf7 100644
--- a/source/blender/draw/intern/draw_cache_extract_mesh.c
+++ b/source/blender/draw/intern/draw_cache_extract_mesh.c
@@ -129,6 +129,7 @@ typedef struct MeshRenderData {
 
 static MeshRenderData *mesh_render_data_create(Mesh *me,
const bool is_editmode,
+   const bool is_paint_mode,
const float obmat[4][4],
const bool do_final,
const bool do_uvedit,
@@ -192,7 +193,7 @@ static MeshRenderData *mesh_render_data_create(Mesh *me,
 mr->me = me;
 mr->edit_bmesh = NULL;
 
-bool use_mapped = mr->me && !mr->me->runtime.is_original;
+bool use_mapped = is_paint_mode && mr->me && !mr->me->runtime.is_original;
 if (use_mapped) {
   mr->v_origindex = CustomData_get_layer(&mr->me->vdata, CD_ORIGINDEX);
   mr->e_origindex = CustomData_get_layer(&mr->me->edata, CD_ORIGINDEX);
@@ -4596,6 +4597,7 @@ void mesh_buffer_cache_create_requested(MeshBatchCache 
*cache,
 MeshBufferCache mbc,
 Mesh *me,
 const bool is_editmode,
+const bool is_paint_mode,
 const float obmat[4][4],
 const bool do_final,
 const bool do_uvedit,
@@ -4657,8 +4659,16 @@ void mesh_buffer_cache_create_requested(MeshBatchCache 
*cache,
   double rdata_start = PIL_check_seconds_timer();
 #endif
 
-  MeshRenderData *mr = mesh_render_data_create(
-  me, is_editmode, obmat, do_final, do_uvedit, iter_flag, data_flag, 
cd_layer_used, ts);
+  MeshRenderData *mr = mesh_render_data_create(me,
+   is_editmode,
+   is_paint_mode,
+   obmat,
+   do_final,
+   do_uvedit,
+   iter_flag,
+   data_flag,
+   cd_layer_used,
+   ts);
   mr->cache = cache; /* HACK */
   mr->use_hide = use_hide;
   mr->use_subsurf_fdots = use_subsurf_fdots;
diff --git a/source/blender/draw/intern/draw_cache_impl_mesh.c 
b/source/blender/draw/intern/draw_cache_impl_mesh.c
index 308d87f1385..1aaead27ee7 100644
--- a/source/blender/draw/intern/draw_cache_impl_mesh.c
+++ b/source/blender/draw/intern/draw_cache_impl_mesh.c
@@ -1369,6 +1369,7 @@ void DRW_mesh_batch_cache_create_requested(
cache->uv_cage,
 

[Bf-blender-cvs] [3a65397473e] master: Fix T75471: Outliner: crash selecting modifier objects/targets that are in a excluded collection

2020-04-07 Thread Philipp Oeser
Commit: 3a65397473e7a60b606489ea154687a16f656b6b
Author: Philipp Oeser
Date:   Tue Apr 7 12:59:46 2020 +0200
Branches: master
https://developer.blender.org/rB3a65397473e7a60b606489ea154687a16f656b6b

Fix T75471: Outliner: crash selecting modifier objects/targets that are in a 
excluded collection

There is no garuantee 'outliner_find_id()' can find those corresponding
TreeElements, safeguard against failure now.

note: not sure why this was no problem in Release builds? (could only
reproduce crashes in Debug builds...)

Maniphest Tasks: T75471

Differential Revision: https://developer.blender.org/D7365

===

M   source/blender/editors/space_outliner/outliner_select.c

===

diff --git a/source/blender/editors/space_outliner/outliner_select.c 
b/source/blender/editors/space_outliner/outliner_select.c
index ec1595eb930..64d86293fb7 100644
--- a/source/blender/editors/space_outliner/outliner_select.c
+++ b/source/blender/editors/space_outliner/outliner_select.c
@@ -312,6 +312,7 @@ static eOLDrawState tree_element_set_active_object(bContext 
*C,
   Scene *sce;
   Base *base;
   Object *ob = NULL;
+  TreeElement *te_ob = NULL;
 
   /* if id is not object, we search back */
   if (te->idcode == ID_OB) {
@@ -355,8 +356,12 @@ static eOLDrawState 
tree_element_set_active_object(bContext *C,
 }
   }
 
-  parent_tselem = TREESTORE(outliner_find_id(soops, &soops->tree, (ID *)ob));
-  if (base) {
+  te_ob = outliner_find_id(soops, &soops->tree, (ID *)ob);
+  if (te_ob != NULL) {
+parent_tselem = TREESTORE(te_ob);
+  }
+
+  if (!ELEM(NULL, parent_tselem, base)) {
 if (set == OL_SETSEL_EXTEND) {
   /* swap select */
   if (base->flag & BASE_SELECTED) {

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [337a7ed2926] master: Pointclouds: fix point drawing

2020-04-09 Thread Philipp Oeser
Commit: 337a7ed292638542f702f1ce2119dc73072f0b56
Author: Philipp Oeser
Date:   Thu Apr 9 23:31:36 2020 +0200
Branches: master
https://developer.blender.org/rB337a7ed292638542f702f1ce2119dc73072f0b56

Pointclouds: fix point drawing

The radius component is only one float. This resulted in only a third of
intended points to draw and could lead to glitches.

Pointcloud drawing will still change a lot in the future, this is just
to be able to work on some simple tools.

Differential Revision: https://developer.blender.org/D7390

===

M   source/blender/draw/intern/draw_cache_impl_pointcloud.c

===

diff --git a/source/blender/draw/intern/draw_cache_impl_pointcloud.c 
b/source/blender/draw/intern/draw_cache_impl_pointcloud.c
index 83757cb714a..53939b35285 100644
--- a/source/blender/draw/intern/draw_cache_impl_pointcloud.c
+++ b/source/blender/draw/intern/draw_cache_impl_pointcloud.c
@@ -134,7 +134,7 @@ static void pointcloud_batch_cache_ensure_pos(Object *ob, 
PointCloudBatchCache *
 /* initialize vertex format */
 pos_id = GPU_vertformat_attr_add(&format, "pointcloud_pos", GPU_COMP_F32, 
3, GPU_FETCH_FLOAT);
 radius_id = GPU_vertformat_attr_add(
-&format, "pointcloud_radius", GPU_COMP_F32, 3, GPU_FETCH_FLOAT);
+&format, "pointcloud_radius", GPU_COMP_F32, 1, GPU_FETCH_FLOAT);
   }
 
   GPU_VERTBUF_DISCARD_SAFE(cache->pos);

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [d3cda49d143] master: Fix T74657: Grease Pencil Proportional Editing does not work for 'Individual Origins'

2020-04-09 Thread Philipp Oeser
Commit: d3cda49d143c455ae5c1093f3a5ce448c7de6ed3
Author: Philipp Oeser
Date:   Mon Apr 6 14:49:29 2020 +0200
Branches: master
https://developer.blender.org/rBd3cda49d143c455ae5c1093f3a5ce448c7de6ed3

Fix T74657: Grease Pencil Proportional Editing does not work for
'Individual Origins'

Note gpencil doesnt do anything fancy like meshes in
editmesh_islands_info_calc(), but it looks like there is actually no
harm in allowing proportional editing with individual origins & gpencil
editmode.

Maniphest Tasks: T74657

Differential Revision: https://developer.blender.org/D7351

===

M   source/blender/editors/transform/transform.c

===

diff --git a/source/blender/editors/transform/transform.c 
b/source/blender/editors/transform/transform.c
index c1e890ed5f1..d0866968daa 100644
--- a/source/blender/editors/transform/transform.c
+++ b/source/blender/editors/transform/transform.c
@@ -77,7 +77,7 @@ static void initSnapSpatial(TransInfo *t, float r_snap[3]);
 
 bool transdata_check_local_islands(TransInfo *t, short around)
 {
-  return ((around == V3D_AROUND_LOCAL_ORIGINS) && ((ELEM(t->obedit_type, 
OB_MESH;
+  return ((around == V3D_AROUND_LOCAL_ORIGINS) && ((ELEM(t->obedit_type, 
OB_MESH, OB_GPENCIL;
 }
 
 /* ** SPACE DEPENDENT CODE 
 */

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [65f674b570f] master: Fix T75535: Compositor backdrop gizmo dragging interrupts with node mouse over

2020-04-14 Thread Philipp Oeser
Commit: 65f674b570fc5eb1b5011bf8ae5cc3e031026665
Author: Philipp Oeser
Date:   Thu Apr 9 13:24:42 2020 +0200
Branches: master
https://developer.blender.org/rB65f674b570fc5eb1b5011bf8ae5cc3e031026665

Fix T75535: Compositor backdrop gizmo dragging interrupts with node
mouse over

Caused by rB5929dd7129f6.

Above commit would reset the gizmo highlight on node mouseover.
This would also assert in gizmo_rect_pivot_from_scale_part() and stop
the drag.

So now, only reset the gizmo when we are not in EVT_GIZMO_UPDATE,
allowing for starting the tweak outside a node and then travelling
'inside' while still preventing to use it over a node when starting a
tweak there.

Maniphest Tasks: T75535

Differential Revision: https://developer.blender.org/D7383

===

M   source/blender/windowmanager/intern/wm_event_system.c

===

diff --git a/source/blender/windowmanager/intern/wm_event_system.c 
b/source/blender/windowmanager/intern/wm_event_system.c
index 15b6fe53417..8b8c1b90dc9 100644
--- a/source/blender/windowmanager/intern/wm_event_system.c
+++ b/source/blender/windowmanager/intern/wm_event_system.c
@@ -2519,10 +2519,11 @@ static int wm_handlers_do_gizmo_handler(bContext *C,
   wmGizmo *gz = wm_gizmomap_highlight_get(gzmap);
 
   /* Needed so UI blocks over gizmos don't let events fall through to the 
gizmos,
-   * noticeable for the node editor - where dragging on a node should move it, 
see: T73212. */
+   * noticeable for the node editor - where dragging on a node should move it, 
see: T73212.
+   * note we still allow for starting the gizmo drag outside, then travel 
'inside' the node */
   if (region->type->clip_gizmo_events_by_ui) {
 if (UI_region_block_find_mouse_over(region, &event->x, true)) {
-  if (gz != NULL) {
+  if (gz != NULL && event->type != EVT_GIZMO_UPDATE) {
 WM_tooltip_clear(C, CTX_wm_window(C));
 wm_gizmomap_highlight_set(gzmap, C, NULL, 0);
   }

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [7af84255c76] master: Cleanup: typo

2020-04-15 Thread Philipp Oeser
Commit: 7af84255c76b4da0cb180a2b5b296c2c5e2b4317
Author: Philipp Oeser
Date:   Wed Apr 15 16:57:28 2020 +0200
Branches: master
https://developer.blender.org/rB7af84255c76b4da0cb180a2b5b296c2c5e2b4317

Cleanup: typo

===

M   source/blender/makesrna/intern/rna_modifier.c

===

diff --git a/source/blender/makesrna/intern/rna_modifier.c 
b/source/blender/makesrna/intern/rna_modifier.c
index e13b9caa90c..ccc141c1bb2 100644
--- a/source/blender/makesrna/intern/rna_modifier.c
+++ b/source/blender/makesrna/intern/rna_modifier.c
@@ -920,7 +920,7 @@ static bool rna_HookModifier_object_override_apply(Main 
*UNUSED(bmain),
 {
   BLI_assert(len_dst == len_src && (!ptr_storage || len_dst == len_storage) && 
len_dst == 0);
   BLI_assert(opop->operation == IDOVERRIDE_LIBRARY_OP_REPLACE &&
- "Unsupported RNA override operation on Hook modifier target objet 
pointer");
+ "Unsupported RNA override operation on Hook modifier target 
object pointer");
   UNUSED_VARS_NDEBUG(ptr_storage, len_dst, len_src, len_storage, opop);
 
   /* We need a special handling here because setting hook target resets invert 
parent matrix,

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [ec574b5b090] master: Cleanup: remove (unused) RNA update cache

2020-04-15 Thread Philipp Oeser
Commit: ec574b5b090f9ae779ca3e55021940ddd41115fb
Author: Philipp Oeser
Date:   Wed Apr 15 10:22:03 2020 +0200
Branches: master
https://developer.blender.org/rBec574b5b090f9ae779ca3e55021940ddd41115fb

Cleanup: remove (unused) RNA update cache

Introduced in 2011 in rB6a392e8cb505, it was disabled again soon after
in rBb062056c05a3 and traces to it partly removed in rB21744217cea9.

Now remove completely.

quote @sergey:
We shouldn't be having partially working unused code.
If we ever need some sort of update cache it would need to have clear
design first, and the code could be resurrected from history if needed.

Differential Revision: https://developer.blender.org/D7432

===

M   source/blender/blenkernel/intern/anim_sys.c
M   source/blender/blenkernel/intern/blendfile.c
M   source/blender/makesrna/RNA_access.h
M   source/blender/makesrna/intern/rna_access.c

===

diff --git a/source/blender/blenkernel/intern/anim_sys.c 
b/source/blender/blenkernel/intern/anim_sys.c
index 18320ef0f8d..5f463be58b4 100644
--- a/source/blender/blenkernel/intern/anim_sys.c
+++ b/source/blender/blenkernel/intern/anim_sys.c
@@ -2547,13 +2547,6 @@ void BKE_animsys_evaluate_animdata(
* - It is best that we execute this every time, so that no errors are 
likely to occur.
*/
   animsys_evaluate_overrides(&id_ptr, adt);
-
-  /* execute and clear all cached property update functions */
-  if (scene) {
-Main *bmain = G.main;  // xxx - to get passed in!
-RNA_property_update_cache_flush(bmain, scene);
-RNA_property_update_cache_free();
-  }
 }
 
 /* Evaluation of all ID-blocks with Animation Data blocks - Animation Data Only
diff --git a/source/blender/blenkernel/intern/blendfile.c 
b/source/blender/blenkernel/intern/blendfile.c
index 2a53a0b69a4..0d5d35e3508 100644
--- a/source/blender/blenkernel/intern/blendfile.c
+++ b/source/blender/blenkernel/intern/blendfile.c
@@ -258,9 +258,6 @@ static void setup_app_data(bContext *C,
   //  CTX_wm_manager_set(C, NULL);
   BKE_blender_globals_clear();
 
-  /* clear old property update cache, in case some old references are left 
dangling */
-  RNA_property_update_cache_free();
-
   bmain = G_MAIN = bfd->main;
   bfd->main = NULL;
 
diff --git a/source/blender/makesrna/RNA_access.h 
b/source/blender/makesrna/RNA_access.h
index 31d1ed54fa1..26773e59feb 100644
--- a/source/blender/makesrna/RNA_access.h
+++ b/source/blender/makesrna/RNA_access.h
@@ -930,10 +930,6 @@ void RNA_property_update_main(struct Main *bmain,
   PropertyRNA *prop);
 bool RNA_property_update_check(struct PropertyRNA *prop);
 
-void RNA_property_update_cache_add(PointerRNA *ptr, PropertyRNA *prop);
-void RNA_property_update_cache_flush(struct Main *bmain, struct Scene *scene);
-void RNA_property_update_cache_free(void);
-
 /* Property Data */
 
 bool RNA_property_boolean_get(PointerRNA *ptr, PropertyRNA *prop);
diff --git a/source/blender/makesrna/intern/rna_access.c 
b/source/blender/makesrna/intern/rna_access.c
index b56a18c18a9..501dd2109c2 100644
--- a/source/blender/makesrna/intern/rna_access.c
+++ b/source/blender/makesrna/intern/rna_access.c
@@ -98,8 +98,6 @@ void RNA_exit(void)
 {
   StructRNA *srna;
 
-  RNA_property_update_cache_free();
-
   for (srna = BLENDER_RNA.structs.first; srna; srna = srna->cont.next) {
 if (srna->cont.prophash) {
   BLI_ghash_free(srna->cont.prophash, NULL, NULL);
@@ -2308,115 +2306,6 @@ void RNA_property_update_main(Main *bmain, Scene 
*scene, PointerRNA *ptr, Proper
   rna_property_update(NULL, bmain, scene, ptr, prop);
 }
 
-/* RNA Updates Cache  */
-/* Overview of RNA Update cache system:
- *
- * RNA Update calls need to be cached in order to maintain reasonable 
performance
- * of the animation system (i.e. maintaining a somewhat interactive framerate)
- * while still allowing updates to be called (necessary in particular for 
modifier
- * property updates to actually work).
- *
- * The cache is structured with a dual-layer structure
- * - L1 = PointerRNA used as key; owner_id is used (it should always be 
defined,
- *and most updates end up using just that anyways)
- * - L2 = Update functions to be called on those PointerRNA's
- */
-
-/* cache element */
-typedef struct tRnaUpdateCacheElem {
-  struct tRnaUpdateCacheElem *next, *prev;
-
-  PointerRNA ptr;   /* L1 key - id as primary, data secondary/ignored? */
-  ListBase L2Funcs; /* L2 functions (LinkData) */
-} tRnaUpdateCacheElem;
-
-/* cache global (tRnaUpdateCacheElem's) - only accessible using these API 
calls */
-static ListBase rna_updates_cache = {NULL, NULL};
-
-/* ... */
-
-void RNA_property_update_cache_add(PointerRNA *ptr, PropertyRNA *prop)
-{
-  const bool is_rna = (prop->magic == RNA_MAGIC);
-  tRnaUpdateCacheElem *uce = NULL;
-  

[Bf-blender-cvs] [f250b1f5a00] blender-v2.83-release: Fix assert for Image Editor invert/resize operators

2020-04-15 Thread Philipp Oeser
Commit: f250b1f5a007a85a646a809a29b706e814f4cf32
Author: Philipp Oeser
Date:   Wed Apr 15 13:07:20 2020 +0200
Branches: blender-v2.83-release
https://developer.blender.org/rBf250b1f5a007a85a646a809a29b706e814f4cf32

Fix assert for Image Editor invert/resize operators

Caused by rB2bf4c74130ff.

For undo, the ImageUser's scene should be NULL (see D7022 for
discussion).

PaintTiles were already doing it beforehand in ED_image_paint_tile_push,
but Image ops [scale/invert] are calling
ED_image_undo_push_begin_with_image directly.

Now actually set the UndoImageHandle iuser.scene to NULL (rather than
asserting)

ref T75675

Maniphest Tasks: T75675

Differential Revision: https://developer.blender.org/D7435

===

M   source/blender/editors/space_image/image_undo.c

===

diff --git a/source/blender/editors/space_image/image_undo.c 
b/source/blender/editors/space_image/image_undo.c
index 056dd826238..cebf47a385d 100644
--- a/source/blender/editors/space_image/image_undo.c
+++ b/source/blender/editors/space_image/image_undo.c
@@ -667,7 +667,7 @@ static UndoImageHandle *uhandle_add(ListBase *undo_handles, 
Image *image, ImageU
   UndoImageHandle *uh = MEM_callocN(sizeof(*uh), __func__);
   uh->image_ref.ptr = image;
   uh->iuser = *iuser;
-  BLI_assert(uh->iuser.scene == NULL);
+  uh->iuser.scene = NULL;
   uh->iuser.ok = 1;
   BLI_addtail(undo_handles, uh);
   return uh;

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [4dc534aa04a] master: Merge branch 'blender-v2.83-release'

2020-04-15 Thread Philipp Oeser
Commit: 4dc534aa04a7fbbea8aec3f86127b38451496db8
Author: Philipp Oeser
Date:   Wed Apr 15 17:46:09 2020 +0200
Branches: master
https://developer.blender.org/rB4dc534aa04a7fbbea8aec3f86127b38451496db8

Merge branch 'blender-v2.83-release'

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [3ea4d3dc073] blender-v2.83-release: Fix (unreported) Image Editor UI drawing too dark

2020-04-16 Thread Philipp Oeser
Commit: 3ea4d3dc07311a5799f7102a1e4f5920db367c0e
Author: Philipp Oeser
Date:   Thu Apr 16 12:39:51 2020 +0200
Branches: blender-v2.83-release
https://developer.blender.org/rB3ea4d3dc07311a5799f7102a1e4f5920db367c0e

Fix (unreported) Image Editor UI drawing too dark

Caused by rBf0221ff6674f.

Only draw the Image buffer itself in display space.

Differential Revision: https://developer.blender.org/D7449

===

M   source/blender/editors/space_image/image_draw.c
M   source/blender/editors/space_image/space_image.c

===

diff --git a/source/blender/editors/space_image/image_draw.c 
b/source/blender/editors/space_image/image_draw.c
index 85f7f744abc..6037c1d2ec8 100644
--- a/source/blender/editors/space_image/image_draw.c
+++ b/source/blender/editors/space_image/image_draw.c
@@ -575,6 +575,9 @@ static void draw_image_buffer(const bContext *C,
   float zoomx,
   float zoomy)
 {
+  /* Image are still drawn in display space. */
+  glDisable(GL_FRAMEBUFFER_SRGB);
+
   int x, y;
   int sima_flag = sima->flag & ED_space_image_get_display_channel_mask(ibuf);
 
@@ -666,6 +669,8 @@ static void draw_image_buffer(const bContext *C,
   GPU_blend(false);
 }
   }
+
+  glEnable(GL_FRAMEBUFFER_SRGB);
 }
 
 static void draw_image_buffer_repeated(const bContext *C,
diff --git a/source/blender/editors/space_image/space_image.c 
b/source/blender/editors/space_image/space_image.c
index 5c146a99efd..1e1d4373fea 100644
--- a/source/blender/editors/space_image/space_image.c
+++ b/source/blender/editors/space_image/space_image.c
@@ -669,14 +669,9 @@ static void image_main_region_draw(const bContext *C, 
ARegion *region)
   /* we set view2d from own zoom and offset each time */
   image_main_region_set_view2d(sima, region);
 
-  /* Image are still drawn in display space. */
-  glDisable(GL_FRAMEBUFFER_SRGB);
-
   /* we draw image in pixelspace */
   draw_image_main(C, region);
 
-  glEnable(GL_FRAMEBUFFER_SRGB);
-
   /* and uvs in 0.0-1.0 space */
   UI_view2d_view_ortho(v2d);

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [13876d50cee] master: Merge branch 'blender-v2.83-release'

2020-04-16 Thread Philipp Oeser
Commit: 13876d50cee8f8fc5b5eb4585718fc290aec33af
Author: Philipp Oeser
Date:   Thu Apr 16 14:12:09 2020 +0200
Branches: master
https://developer.blender.org/rB13876d50cee8f8fc5b5eb4585718fc290aec33af

Merge branch 'blender-v2.83-release'

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [cdd406f4bd6] master: Cleanup: unused variable warning

2020-04-16 Thread Philipp Oeser
Commit: cdd406f4bd645c91013105caef681e842427392b
Author: Philipp Oeser
Date:   Thu Apr 16 14:30:00 2020 +0200
Branches: master
https://developer.blender.org/rBcdd406f4bd645c91013105caef681e842427392b

Cleanup: unused variable warning

Not needed since rB1685f5824d91.

===

M   source/blender/blenkernel/intern/anim_sys.c

===

diff --git a/source/blender/blenkernel/intern/anim_sys.c 
b/source/blender/blenkernel/intern/anim_sys.c
index 5825d7e4acd..de8d5af22ae 100644
--- a/source/blender/blenkernel/intern/anim_sys.c
+++ b/source/blender/blenkernel/intern/anim_sys.c
@@ -2708,7 +2708,6 @@ void BKE_animsys_eval_animdata(Depsgraph *depsgraph, ID 
*id)
   AnimData *adt = BKE_animdata_from_id(id);
   /* XXX: this is only needed for flushing RNA updates,
* which should get handled as part of the dependency graph instead. */
-  Scene *scene = NULL;
   DEG_debug_print_eval_time(depsgraph, __func__, id->name, id, ctime);
   const bool flush_to_original = DEG_is_active(depsgraph);
   BKE_animsys_evaluate_animdata(id, adt, ctime, ADT_RECALC_ANIM, 
flush_to_original);

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [737a4309e8b] master: Cleanup: typo in comment

2020-04-16 Thread Philipp Oeser
Commit: 737a4309e8b48e5384487345d17dbb7de88e8bb9
Author: Philipp Oeser
Date:   Thu Apr 16 15:22:15 2020 +0200
Branches: master
https://developer.blender.org/rB737a4309e8b48e5384487345d17dbb7de88e8bb9

Cleanup: typo in comment

===

M   source/blender/makesdna/DNA_ID.h

===

diff --git a/source/blender/makesdna/DNA_ID.h b/source/blender/makesdna/DNA_ID.h
index dd3964dfc15..aedd25cb41a 100644
--- a/source/blender/makesdna/DNA_ID.h
+++ b/source/blender/makesdna/DNA_ID.h
@@ -539,9 +539,9 @@ enum {
   /* RESET_NEVER tag data-block as needing an auto-override execution, if 
enabled. */
   LIB_TAG_OVERRIDE_LIBRARY_AUTOREFRESH = 1 << 17,
 
-  /* tag data-block has having an extra user. */
+  /* tag data-block as having an extra user. */
   LIB_TAG_EXTRAUSER = 1 << 2,
-  /* tag data-block has having actually increased usercount for the extra 
virtual user. */
+  /* tag data-block as having actually increased usercount for the extra 
virtual user. */
   LIB_TAG_EXTRAUSER_SET = 1 << 7,
 
   /* RESET_AFTER_USE tag newly duplicated/copied IDs.

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [8cb10c124ef] blender-v2.83-release: Fix T75675: Unlinking [with setting users to zero] not clearing LIB_TAG_EXTRAUSER_SET flag

2020-04-16 Thread Philipp Oeser
Commit: 8cb10c124efebc27a7451f3d3a4c62d23c3927b5
Author: Philipp Oeser
Date:   Thu Apr 16 17:09:04 2020 +0200
Branches: blender-v2.83-release
https://developer.blender.org/rB8cb10c124efebc27a7451f3d3a4c62d23c3927b5

Fix T75675: Unlinking [with setting users to zero] not clearing
LIB_TAG_EXTRAUSER_SET flag

For example in the Image Editor, an assert would be triggered after
unlinking an image [with setting users to zero] and then setting the
image for the Image Editor again.

Whenever we set an Image for Image Editor, the Image ID is flagged
LIB_TAG_EXTRAUSER_SET, when we unlink [with setting users to zero] this
flag was not cleared.

quote @mont29: "a proper fix would be to move this to modern code, and
actually delete the ID..." but that is for later.

Maniphest Tasks: T75675

Differential Revision: https://developer.blender.org/D7452

===

M   source/blender/editors/interface/interface_templates.c

===

diff --git a/source/blender/editors/interface/interface_templates.c 
b/source/blender/editors/interface/interface_templates.c
index 6f6a4a1718a..52afb17079d 100644
--- a/source/blender/editors/interface/interface_templates.c
+++ b/source/blender/editors/interface/interface_templates.c
@@ -536,6 +536,7 @@ static void template_id_cb(bContext *C, void *arg_litem, 
void *arg_event)
 
   if (id && CTX_wm_window(C)->eventstate->shift) {
 /* only way to force-remove data (on save) */
+id_us_clear_real(id);
 id_fake_user_clear(id);
 id->us = 0;
   }

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [b374fcc98f9] master: Merge branch 'blender-v2.83-release'

2020-04-16 Thread Philipp Oeser
Commit: b374fcc98f99db50c93ee445de2a6532e9adb998
Author: Philipp Oeser
Date:   Thu Apr 16 17:45:07 2020 +0200
Branches: master
https://developer.blender.org/rBb374fcc98f99db50c93ee445de2a6532e9adb998

Merge branch 'blender-v2.83-release'

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [b36e8b0d55f] modifier-panels-ui: Fix (unreported) Image Editor UI drawing too dark

2020-04-16 Thread Philipp Oeser
Commit: b36e8b0d55fc36c13da31c9646eac267c3157c01
Author: Philipp Oeser
Date:   Thu Apr 16 12:39:51 2020 +0200
Branches: modifier-panels-ui
https://developer.blender.org/rBb36e8b0d55fc36c13da31c9646eac267c3157c01

Fix (unreported) Image Editor UI drawing too dark

Caused by rBf0221ff6674f.

Only draw the Image buffer itself in display space.

Differential Revision: https://developer.blender.org/D7449

===

M   source/blender/editors/space_image/image_draw.c
M   source/blender/editors/space_image/space_image.c

===

diff --git a/source/blender/editors/space_image/image_draw.c 
b/source/blender/editors/space_image/image_draw.c
index 85f7f744abc..6037c1d2ec8 100644
--- a/source/blender/editors/space_image/image_draw.c
+++ b/source/blender/editors/space_image/image_draw.c
@@ -575,6 +575,9 @@ static void draw_image_buffer(const bContext *C,
   float zoomx,
   float zoomy)
 {
+  /* Image are still drawn in display space. */
+  glDisable(GL_FRAMEBUFFER_SRGB);
+
   int x, y;
   int sima_flag = sima->flag & ED_space_image_get_display_channel_mask(ibuf);
 
@@ -666,6 +669,8 @@ static void draw_image_buffer(const bContext *C,
   GPU_blend(false);
 }
   }
+
+  glEnable(GL_FRAMEBUFFER_SRGB);
 }
 
 static void draw_image_buffer_repeated(const bContext *C,
diff --git a/source/blender/editors/space_image/space_image.c 
b/source/blender/editors/space_image/space_image.c
index ed14593ed2d..d7d85112497 100644
--- a/source/blender/editors/space_image/space_image.c
+++ b/source/blender/editors/space_image/space_image.c
@@ -670,14 +670,9 @@ static void image_main_region_draw(const bContext *C, 
ARegion *region)
   /* we set view2d from own zoom and offset each time */
   image_main_region_set_view2d(sima, region);
 
-  /* Image are still drawn in display space. */
-  glDisable(GL_FRAMEBUFFER_SRGB);
-
   /* we draw image in pixelspace */
   draw_image_main(C, region);
 
-  glEnable(GL_FRAMEBUFFER_SRGB);
-
   /* and uvs in 0.0-1.0 space */
   UI_view2d_view_ortho(v2d);

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [cc24695be73] modifier-panels-ui: Cleanup: typo in comment

2020-04-16 Thread Philipp Oeser
Commit: cc24695be7332b2055917ee4c69708e8e5b91af8
Author: Philipp Oeser
Date:   Thu Apr 16 15:22:15 2020 +0200
Branches: modifier-panels-ui
https://developer.blender.org/rBcc24695be7332b2055917ee4c69708e8e5b91af8

Cleanup: typo in comment

===

M   source/blender/makesdna/DNA_ID.h

===

diff --git a/source/blender/makesdna/DNA_ID.h b/source/blender/makesdna/DNA_ID.h
index dd3964dfc15..aedd25cb41a 100644
--- a/source/blender/makesdna/DNA_ID.h
+++ b/source/blender/makesdna/DNA_ID.h
@@ -539,9 +539,9 @@ enum {
   /* RESET_NEVER tag data-block as needing an auto-override execution, if 
enabled. */
   LIB_TAG_OVERRIDE_LIBRARY_AUTOREFRESH = 1 << 17,
 
-  /* tag data-block has having an extra user. */
+  /* tag data-block as having an extra user. */
   LIB_TAG_EXTRAUSER = 1 << 2,
-  /* tag data-block has having actually increased usercount for the extra 
virtual user. */
+  /* tag data-block as having actually increased usercount for the extra 
virtual user. */
   LIB_TAG_EXTRAUSER_SET = 1 << 7,
 
   /* RESET_AFTER_USE tag newly duplicated/copied IDs.

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [ce8808ec07b] modifier-panels-ui: Cleanup: unused variable warning

2020-04-16 Thread Philipp Oeser
Commit: ce8808ec07bf3f2f164ba40847d2651f02443d19
Author: Philipp Oeser
Date:   Thu Apr 16 14:30:00 2020 +0200
Branches: modifier-panels-ui
https://developer.blender.org/rBce8808ec07bf3f2f164ba40847d2651f02443d19

Cleanup: unused variable warning

Not needed since rB1685f5824d91.

===

M   source/blender/blenkernel/intern/anim_sys.c

===

diff --git a/source/blender/blenkernel/intern/anim_sys.c 
b/source/blender/blenkernel/intern/anim_sys.c
index 5825d7e4acd..de8d5af22ae 100644
--- a/source/blender/blenkernel/intern/anim_sys.c
+++ b/source/blender/blenkernel/intern/anim_sys.c
@@ -2708,7 +2708,6 @@ void BKE_animsys_eval_animdata(Depsgraph *depsgraph, ID 
*id)
   AnimData *adt = BKE_animdata_from_id(id);
   /* XXX: this is only needed for flushing RNA updates,
* which should get handled as part of the dependency graph instead. */
-  Scene *scene = NULL;
   DEG_debug_print_eval_time(depsgraph, __func__, id->name, id, ctime);
   const bool flush_to_original = DEG_is_active(depsgraph);
   BKE_animsys_evaluate_animdata(id, adt, ctime, ADT_RECALC_ANIM, 
flush_to_original);

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [bc252b3b1a6] modifier-panels-ui: Fix T75675: Unlinking [with setting users to zero] not clearing LIB_TAG_EXTRAUSER_SET flag

2020-04-16 Thread Philipp Oeser
Commit: bc252b3b1a6e8590ac1de26c59132c27857a33f7
Author: Philipp Oeser
Date:   Thu Apr 16 17:09:04 2020 +0200
Branches: modifier-panels-ui
https://developer.blender.org/rBbc252b3b1a6e8590ac1de26c59132c27857a33f7

Fix T75675: Unlinking [with setting users to zero] not clearing
LIB_TAG_EXTRAUSER_SET flag

For example in the Image Editor, an assert would be triggered after
unlinking an image [with setting users to zero] and then setting the
image for the Image Editor again.

Whenever we set an Image for Image Editor, the Image ID is flagged
LIB_TAG_EXTRAUSER_SET, when we unlink [with setting users to zero] this
flag was not cleared.

quote @mont29: "a proper fix would be to move this to modern code, and
actually delete the ID..." but that is for later.

Maniphest Tasks: T75675

Differential Revision: https://developer.blender.org/D7452

===

M   source/blender/editors/interface/interface_templates.c

===

diff --git a/source/blender/editors/interface/interface_templates.c 
b/source/blender/editors/interface/interface_templates.c
index 503dd0b580a..442e192e2a4 100644
--- a/source/blender/editors/interface/interface_templates.c
+++ b/source/blender/editors/interface/interface_templates.c
@@ -536,6 +536,7 @@ static void template_id_cb(bContext *C, void *arg_litem, 
void *arg_event)
 
   if (id && CTX_wm_window(C)->eventstate->shift) {
 /* only way to force-remove data (on save) */
+id_us_clear_real(id);
 id_fake_user_clear(id);
 id->us = 0;
   }

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [be7c51d076b] blender-v2.83-release: Fix T75885: Mesh deform modifier not updating on own transforms

2020-04-20 Thread Philipp Oeser
Commit: be7c51d076be4c826e0b7c1afec59b86b4edc33b
Author: Philipp Oeser
Date:   Mon Apr 20 11:08:49 2020 +0200
Branches: blender-v2.83-release
https://developer.blender.org/rBbe7c51d076be4c826e0b7c1afec59b86b4edc33b

Fix T75885: Mesh deform modifier not updating on own transforms

Added the missing relation.

Maniphest Tasks: T75885

Differential Revision: https://developer.blender.org/D7473

===

M   source/blender/modifiers/intern/MOD_meshdeform.c

===

diff --git a/source/blender/modifiers/intern/MOD_meshdeform.c 
b/source/blender/modifiers/intern/MOD_meshdeform.c
index 7125d0df3a1..d1fa496c3e5 100644
--- a/source/blender/modifiers/intern/MOD_meshdeform.c
+++ b/source/blender/modifiers/intern/MOD_meshdeform.c
@@ -161,6 +161,8 @@ static void updateDepsgraph(ModifierData *md, const 
ModifierUpdateDepsgraphConte
 DEG_add_object_relation(ctx->node, mmd->object, DEG_OB_COMP_TRANSFORM, 
"Mesh Deform Modifier");
 DEG_add_object_relation(ctx->node, mmd->object, DEG_OB_COMP_GEOMETRY, 
"Mesh Deform Modifier");
   }
+  /* We need own transformation as well. */
+  DEG_add_modifier_to_transform_relation(ctx->node, "Mesh Deform Modifier");
 }
 
 static float meshdeform_dynamic_bind(MeshDeformModifierData *mmd, float 
(*dco)[3], float vec[3])

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [9618bd9202a] master: Merge branch 'blender-v2.83-release'

2020-04-20 Thread Philipp Oeser
Commit: 9618bd9202a7f4a024895da443d8e053debe6b4a
Author: Philipp Oeser
Date:   Mon Apr 20 18:55:08 2020 +0200
Branches: master
https://developer.blender.org/rB9618bd9202a7f4a024895da443d8e053debe6b4a

Merge branch 'blender-v2.83-release'

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [470f17f21c0] blender-v2.83-release: Fix T75974: Multiobject editing UV hiding/unhiding does not work

2020-04-22 Thread Philipp Oeser
Commit: 470f17f21c06709443b5634a6fc31dc4dc355daf
Author: Philipp Oeser
Date:   Wed Apr 22 11:48:54 2020 +0200
Branches: blender-v2.83-release
https://developer.blender.org/rB470f17f21c06709443b5634a6fc31dc4dc355daf

Fix T75974: Multiobject editing UV hiding/unhiding does not work

Seems like this was left out when UV operators were converted to multi-
object-editing, ref T54645.

Maniphest Tasks: T75974

Differential Revision: https://developer.blender.org/D7492

===

M   source/blender/editors/uvedit/uvedit_ops.c

===

diff --git a/source/blender/editors/uvedit/uvedit_ops.c 
b/source/blender/editors/uvedit/uvedit_ops.c
index 33601de50da..1a4df846a12 100644
--- a/source/blender/editors/uvedit/uvedit_ops.c
+++ b/source/blender/editors/uvedit/uvedit_ops.c
@@ -4714,99 +4714,109 @@ static bool bm_face_is_all_uv_sel(BMFace *f, bool 
select_test, const int cd_loop
 
 static int uv_hide_exec(bContext *C, wmOperator *op)
 {
+  ViewLayer *view_layer = CTX_data_view_layer(C);
   SpaceImage *sima = CTX_wm_space_image(C);
-  Object *obedit = CTX_data_edit_object(C);
   Scene *scene = CTX_data_scene(C);
   const ToolSettings *ts = scene->toolsettings;
-  BMEditMesh *em = BKE_editmesh_from_object(obedit);
-  BMFace *efa;
-  BMLoop *l;
-  BMIter iter, liter;
-  MLoopUV *luv;
   const bool swap = RNA_boolean_get(op->ptr, "unselected");
   Image *ima = sima ? sima->image : NULL;
   const int use_face_center = (ts->uv_selectmode == UV_SELECT_FACE);
 
-  const int cd_loop_uv_offset = CustomData_get_offset(&em->bm->ldata, 
CD_MLOOPUV);
+  uint objects_len = 0;
+  Object **objects = 
BKE_view_layer_array_from_objects_in_edit_mode_unique_data_with_uvs(
+  view_layer, ((View3D *)NULL), &objects_len);
 
-  if (ts->uv_flag & UV_SYNC_SELECTION) {
-if (EDBM_mesh_hide(em, swap)) {
-  EDBM_update_generic(obedit->data, true, false);
-}
-return OPERATOR_FINISHED;
-  }
+  for (uint ob_index = 0; ob_index < objects_len; ob_index++) {
+Object *ob = objects[ob_index];
+BMEditMesh *em = BKE_editmesh_from_object(ob);
+BMFace *efa;
+BMLoop *l;
+BMIter iter, liter;
+MLoopUV *luv;
 
-  BM_ITER_MESH (efa, &iter, em->bm, BM_FACES_OF_MESH) {
-int hide = 0;
+const int cd_loop_uv_offset = CustomData_get_offset(&em->bm->ldata, 
CD_MLOOPUV);
 
-if (!uvedit_face_visible_test(scene, obedit, ima, efa)) {
-  continue;
+if (ts->uv_flag & UV_SYNC_SELECTION) {
+  if (EDBM_mesh_hide(em, swap)) {
+EDBM_update_generic(ob->data, true, false);
+  }
+  return OPERATOR_FINISHED;
 }
 
-BM_ITER_ELEM (l, &liter, efa, BM_LOOPS_OF_FACE) {
-  luv = BM_ELEM_CD_GET_VOID_P(l, cd_loop_uv_offset);
+BM_ITER_MESH (efa, &iter, em->bm, BM_FACES_OF_MESH) {
+  int hide = 0;
 
-  if (UV_SEL_TEST(luv, !swap)) {
-hide = 1;
-break;
+  if (!uvedit_face_visible_test(scene, ob, ima, efa)) {
+continue;
   }
-}
 
-if (hide) {
-  /* note, a special case for edges could be used,
-   * for now edges act like verts and get flushed */
-  if (use_face_center) {
-if (em->selectmode == SCE_SELECT_FACE) {
-  /* check that every UV is selected */
-  if (bm_face_is_all_uv_sel(efa, true, cd_loop_uv_offset) == !swap) {
-BM_face_select_set(em->bm, efa, false);
-  }
-  uvedit_face_select_disable(scene, em, efa, cd_loop_uv_offset);
+  BM_ITER_ELEM (l, &liter, efa, BM_LOOPS_OF_FACE) {
+luv = BM_ELEM_CD_GET_VOID_P(l, cd_loop_uv_offset);
+
+if (UV_SEL_TEST(luv, !swap)) {
+  hide = 1;
+  break;
 }
-else {
-  if (bm_face_is_all_uv_sel(efa, true, cd_loop_uv_offset) == !swap) {
-BM_ITER_ELEM (l, &liter, efa, BM_LOOPS_OF_FACE) {
-  luv = BM_ELEM_CD_GET_VOID_P(l, cd_loop_uv_offset);
-  if (UV_SEL_TEST(luv, !swap)) {
-BM_vert_select_set(em->bm, l->v, false);
+  }
+
+  if (hide) {
+/* note, a special case for edges could be used,
+ * for now edges act like verts and get flushed */
+if (use_face_center) {
+  if (em->selectmode == SCE_SELECT_FACE) {
+/* check that every UV is selected */
+if (bm_face_is_all_uv_sel(efa, true, cd_loop_uv_offset) == !swap) {
+  BM_face_select_set(em->bm, efa, false);
+}
+uvedit_face_select_disable(scene, em, efa, cd_loop_uv_offset);
+  }
+  else {
+if (bm_face_is_all_uv_sel(efa, true, cd_loop_uv_offset) == !swap) {
+  BM_ITER_ELEM (l, &liter, efa, BM_LOOPS_OF_FACE) {
+luv = BM_ELEM_CD_GET_VOID_P(l, cd_loop_

[Bf-blender-cvs] [c69a047b908] master: Merge branch 'blender-v2.83-release'

2020-04-22 Thread Philipp Oeser
Commit: c69a047b908cd2898d5904dc64cb43a4ebd4f22b
Author: Philipp Oeser
Date:   Wed Apr 22 14:23:00 2020 +0200
Branches: master
https://developer.blender.org/rBc69a047b908cd2898d5904dc64cb43a4ebd4f22b

Merge branch 'blender-v2.83-release'

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [6c9a8823403] blender-v2.83-release: Fix T75964: changing object's viewport display color does not update cycles

2020-04-22 Thread Philipp Oeser
Commit: 6c9a88234038f500c3e75472088f14dff05d073b
Author: Philipp Oeser
Date:   Wed Apr 22 13:50:21 2020 +0200
Branches: blender-v2.83-release
https://developer.blender.org/rB6c9a88234038f500c3e75472088f14dff05d073b

Fix T75964: changing object's viewport display color does not update
cycles

Caused by rB00466e756e33.

While that commit sounds logical, Cycles uses is_updated_transform() to
detect updates.

Now introduce is_updated_shading() and use that on top.

Maniphest Tasks: T75964

Differential Revision: https://developer.blender.org/D7493

===

M   intern/cycles/blender/blender_sync.cpp
M   source/blender/makesrna/intern/rna_depsgraph.c

===

diff --git a/intern/cycles/blender/blender_sync.cpp 
b/intern/cycles/blender/blender_sync.cpp
index 9e95cdb3f20..f4c100bcd2b 100644
--- a/intern/cycles/blender/blender_sync.cpp
+++ b/intern/cycles/blender/blender_sync.cpp
@@ -142,7 +142,7 @@ void BlenderSync::sync_recalc(BL::Depsgraph &b_depsgraph, 
BL::SpaceView3D &b_v3d
   BL::Object b_ob(b_id);
   const bool updated_geometry = b_update->is_updated_geometry();
 
-  if (b_update->is_updated_transform()) {
+  if (b_update->is_updated_transform() || b_update->is_updated_shading()) {
 object_map.set_recalc(b_ob);
 light_map.set_recalc(b_ob);
   }
diff --git a/source/blender/makesrna/intern/rna_depsgraph.c 
b/source/blender/makesrna/intern/rna_depsgraph.c
index 41c107b8d04..ca34f69ab1e 100644
--- a/source/blender/makesrna/intern/rna_depsgraph.c
+++ b/source/blender/makesrna/intern/rna_depsgraph.c
@@ -203,6 +203,12 @@ static bool 
rna_DepsgraphUpdate_is_updated_transform_get(PointerRNA *ptr)
   return ((id->recalc & ID_RECALC_TRANSFORM) != 0);
 }
 
+static bool rna_DepsgraphUpdate_is_updated_shading_get(PointerRNA *ptr)
+{
+  ID *id = ptr->data;
+  return ((id->recalc & ID_RECALC_SHADING) != 0);
+}
+
 static bool rna_DepsgraphUpdate_is_updated_geometry_get(PointerRNA *ptr)
 {
   ID *id = ptr->data;
@@ -601,6 +607,11 @@ static void rna_def_depsgraph_update(BlenderRNA *brna)
   RNA_def_property_clear_flag(prop, PROP_ANIMATABLE | PROP_EDITABLE);
   RNA_def_property_ui_text(prop, "Geometry", "Object geometry is updated");
   RNA_def_property_boolean_funcs(prop, 
"rna_DepsgraphUpdate_is_updated_geometry_get", NULL);
+
+  prop = RNA_def_property(srna, "is_updated_shading", PROP_BOOLEAN, PROP_NONE);
+  RNA_def_property_clear_flag(prop, PROP_ANIMATABLE | PROP_EDITABLE);
+  RNA_def_property_ui_text(prop, "Shading", "Object shading is updated");
+  RNA_def_property_boolean_funcs(prop, 
"rna_DepsgraphUpdate_is_updated_shading_get", NULL);
 }
 
 static void rna_def_depsgraph(BlenderRNA *brna)

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [a47a975a55e] master: Merge branch 'blender-v2.83-release'

2020-04-22 Thread Philipp Oeser
Commit: a47a975a55e30257626dec6b70b8e8b2a08b563d
Author: Philipp Oeser
Date:   Wed Apr 22 14:38:59 2020 +0200
Branches: master
https://developer.blender.org/rBa47a975a55e30257626dec6b70b8e8b2a08b563d

Merge branch 'blender-v2.83-release'

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [0fbcb824d0f] blender-v2.83-release: Fix T76014: correct description of COLLECTION_OT_objects_remove_all

2020-04-23 Thread Philipp Oeser
Commit: 0fbcb824d0ff1673ad186055a472b977406fb61d
Author: Philipp Oeser
Date:   Thu Apr 23 10:43:16 2020 +0200
Branches: blender-v2.83-release
https://developer.blender.org/rB0fbcb824d0ff1673ad186055a472b977406fb61d

Fix T76014: correct description of COLLECTION_OT_objects_remove_all

before rB17bd5c9d4b1e it was "Remove selected objects from all groups"

- `BKE_object_groups_clear` is not checking if a collection is linked
to the current scene...
- rB713010bd7795 did not change that either

So this indeed removes selection from _all_ collections, so account for
that in the operator description/idname.

Reviewers: brecht

https://developer.blender.org/D7500

===

M   source/blender/editors/object/object_collection.c

===

diff --git a/source/blender/editors/object/object_collection.c 
b/source/blender/editors/object/object_collection.c
index 7c12a4839f0..7554c4efeda 100644
--- a/source/blender/editors/object/object_collection.c
+++ b/source/blender/editors/object/object_collection.c
@@ -302,8 +302,8 @@ static int collection_objects_remove_all_exec(bContext *C, 
wmOperator *UNUSED(op
 void COLLECTION_OT_objects_remove_all(wmOperatorType *ot)
 {
   /* identifiers */
-  ot->name = "Remove from All Unlinked Collections";
-  ot->description = "Remove selected objects from all collections not used in 
a scene";
+  ot->name = "Remove from All Collections";
+  ot->description = "Remove selected objects from all collections";
   ot->idname = "COLLECTION_OT_objects_remove_all";
 
   /* api callbacks */

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [7d98dfd6bb3] master: Merge branch 'blender-v2.83-release'

2020-04-23 Thread Philipp Oeser
Commit: 7d98dfd6bb3921e661f5ba5adb04ffd9876395f1
Author: Philipp Oeser
Date:   Thu Apr 23 18:26:22 2020 +0200
Branches: master
https://developer.blender.org/rB7d98dfd6bb3921e661f5ba5adb04ffd9876395f1

Merge branch 'blender-v2.83-release'

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [536055e1ee0] blender-v2.83-release: remove "Select Linked" from the posemode select menu

2020-04-27 Thread Philipp Oeser
Commit: 536055e1ee0b238d11a774625b0639e05730cd53
Author: Philipp Oeser
Date:   Mon Apr 27 12:42:16 2020 +0200
Branches: blender-v2.83-release
https://developer.blender.org/rB536055e1ee0b238d11a774625b0639e05730cd53

remove "Select Linked" from the posemode select menu

The operator in its current state is based on mouse position and doesnt
make sense to be called from a menu.
(In fact it should be called 'select_linked_pick' internally and a
separate 'select_linked' should be implemented similar to how "Select
Linked" works for meshes, curves etc -- see D7542 for this)

Note: We had the same thing for particles recently:
rBdd9dfadaac9b: remove "Select Linked" from the particle select and
context menu
rB5ca7c85e105d: Particle editmode: add mouse independent "Select Linked"
operator

Fixes T76071

Maniphest Tasks: T76071

Differential Revision: https://developer.blender.org/D7543

===

M   release/scripts/startup/bl_ui/space_view3d.py

===

diff --git a/release/scripts/startup/bl_ui/space_view3d.py 
b/release/scripts/startup/bl_ui/space_view3d.py
index 5d47566d880..c0a786d9658 100644
--- a/release/scripts/startup/bl_ui/space_view3d.py
+++ b/release/scripts/startup/bl_ui/space_view3d.py
@@ -1469,7 +1469,6 @@ class VIEW3D_MT_select_pose(Menu):
 layout.separator()
 
 layout.operator("pose.select_constraint_target", text="Constraint 
Target")
-layout.operator("pose.select_linked", text="Linked")
 
 layout.separator()

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [7c782b8f277] master: Merge branch 'blender-v2.83-release'

2020-04-27 Thread Philipp Oeser
Commit: 7c782b8f277384525f32b459c72c7559dc4f8038
Author: Philipp Oeser
Date:   Mon Apr 27 16:13:44 2020 +0200
Branches: master
https://developer.blender.org/rB7c782b8f277384525f32b459c72c7559dc4f8038

Merge branch 'blender-v2.83-release'

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [8f289196cfd] blender-v2.83-release: Fix T76111: UV editor's View Selected not working in multiobject editing

2020-04-27 Thread Philipp Oeser
Commit: 8f289196cfd8c6f5ca8700576d9b5e011bdc8e5a
Author: Philipp Oeser
Date:   Sun Apr 26 11:56:10 2020 +0200
Branches: blender-v2.83-release
https://developer.blender.org/rB8f289196cfd8c6f5ca8700576d9b5e011bdc8e5a

Fix T76111: UV editor's View Selected not working in multiobject editing

Seems like this was left out when UV operators were converted to multi-
object-editing, ref T54645.

Maniphest Tasks: T76111, T54645

Differential Revision: https://developer.blender.org/D7537

===

M   source/blender/editors/space_image/image_ops.c

===

diff --git a/source/blender/editors/space_image/image_ops.c 
b/source/blender/editors/space_image/image_ops.c
index 992727e3b11..c2054756795 100644
--- a/source/blender/editors/space_image/image_ops.c
+++ b/source/blender/editors/space_image/image_ops.c
@@ -58,6 +58,7 @@
 #include "BKE_icons.h"
 #include "BKE_image.h"
 #include "BKE_image_save.h"
+#include "BKE_layer.h"
 #include "BKE_lib_id.h"
 #include "BKE_main.h"
 #include "BKE_packedFile.h"
@@ -898,7 +899,12 @@ static int image_view_selected_exec(bContext *C, 
wmOperator *UNUSED(op))
   /* get bounds */
   float min[2], max[2];
   if (ED_space_image_show_uvedit(sima, obedit)) {
-if (!ED_uvedit_minmax(scene, ima, obedit, min, max)) {
+uint objects_len = 0;
+Object **objects = 
BKE_view_layer_array_from_objects_in_edit_mode_unique_data_with_uvs(
+view_layer, ((View3D *)NULL), &objects_len);
+bool success = ED_uvedit_minmax_multi(scene, ima, objects, objects_len, 
min, max);
+MEM_freeN(objects);
+if (!success) {
   return OPERATOR_CANCELLED;
 }
   }

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [b6592c83b54] master: Merge branch 'blender-v2.83-release'

2020-04-27 Thread Philipp Oeser
Commit: b6592c83b5490f154f27de22e34effa2617a5847
Author: Philipp Oeser
Date:   Mon Apr 27 16:26:59 2020 +0200
Branches: master
https://developer.blender.org/rBb6592c83b5490f154f27de22e34effa2617a5847

Merge branch 'blender-v2.83-release'

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [4fd005fefb0] blender-v2.83-release: Fix T76131: Crash combing Hair using Python

2020-04-27 Thread Philipp Oeser
Commit: 4fd005fefb014a8570747b1d043de7d610078b46
Author: Philipp Oeser
Date:   Mon Apr 27 11:37:20 2020 +0200
Branches: blender-v2.83-release
https://developer.blender.org/rB4fd005fefb014a8570747b1d043de7d610078b46

Fix T76131: Crash combing Hair using Python

Caused by rBe82827bf6ed5.

DRW_draw_depth_object calls DRW_mesh_batch_cache_create_requested with
NULL scene, but that is accessed later on...

Scene is actually available, so pass that around.

Maniphest Tasks: T76131

Differential Revision: https://developer.blender.org/D7540

===

M   source/blender/draw/DRW_engine.h
M   source/blender/draw/intern/draw_cache_extract_mesh.c
M   source/blender/draw/intern/draw_manager.c
M   source/blender/editors/space_view3d/view3d_draw.c

===

diff --git a/source/blender/draw/DRW_engine.h b/source/blender/draw/DRW_engine.h
index 7ecf9df275d..1bdc3bc5a03 100644
--- a/source/blender/draw/DRW_engine.h
+++ b/source/blender/draw/DRW_engine.h
@@ -118,7 +118,8 @@ void DRW_draw_depth_loop_gpencil(struct Depsgraph 
*depsgraph,
  struct ARegion *region,
  struct View3D *v3d,
  struct GPUViewport *viewport);
-void DRW_draw_depth_object(struct ARegion *region,
+void DRW_draw_depth_object(struct Scene *scene,
+   struct ARegion *region,
struct View3D *v3d,
struct GPUViewport *viewport,
struct Object *object);
diff --git a/source/blender/draw/intern/draw_cache_extract_mesh.c 
b/source/blender/draw/intern/draw_cache_extract_mesh.c
index 4c51ed99f2c..40687306b4e 100644
--- a/source/blender/draw/intern/draw_cache_extract_mesh.c
+++ b/source/blender/draw/intern/draw_cache_extract_mesh.c
@@ -4540,6 +4540,7 @@ static void extract_task_create(TaskPool *task_pool,
 void *buf,
 int32_t *task_counter)
 {
+  BLI_assert(scene != NULL);
   const bool do_hq_normals = (scene->r.perf_flag & SCE_PERF_HQ_NORMALS) != 0;
   if (do_hq_normals && (extract == &extract_lnor)) {
 extract = &extract_lnor_hq;
diff --git a/source/blender/draw/intern/draw_manager.c 
b/source/blender/draw/intern/draw_manager.c
index 51222d833c2..7bc3dcfab81 100644
--- a/source/blender/draw/intern/draw_manager.c
+++ b/source/blender/draw/intern/draw_manager.c
@@ -2430,7 +2430,7 @@ static void draw_world_clip_planes_from_rv3d(GPUBatch 
*batch, const float world_
 /**
  * Clears the Depth Buffer and draws only the specified object.
  */
-void DRW_draw_depth_object(ARegion *region, View3D *v3d, GPUViewport 
*viewport, Object *object)
+void DRW_draw_depth_object(Scene *scene, ARegion *region, View3D *v3d, 
GPUViewport *viewport, Object *object)
 {
   RegionView3D *rv3d = region->regiondata;
 
@@ -2468,7 +2468,7 @@ void DRW_draw_depth_object(ARegion *region, View3D *v3d, 
GPUViewport *viewport,
 batch = DRW_mesh_batch_cache_get_surface(me);
   }
 
-  DRW_mesh_batch_cache_create_requested(object, me, NULL, false, true);
+  DRW_mesh_batch_cache_create_requested(object, me, scene, false, true);
 
   const eGPUShaderConfig sh_cfg = world_clip_planes ? 
GPU_SHADER_CFG_CLIPPED :
   
GPU_SHADER_CFG_DEFAULT;
diff --git a/source/blender/editors/space_view3d/view3d_draw.c 
b/source/blender/editors/space_view3d/view3d_draw.c
index c1995249c26..e58559f4f6b 100644
--- a/source/blender/editors/space_view3d/view3d_draw.c
+++ b/source/blender/editors/space_view3d/view3d_draw.c
@@ -2217,7 +2217,7 @@ void ED_view3d_backbuf_depth_validate(ViewContext *vc)
 
 if (obact_eval && ((obact_eval->base_flag & BASE_VISIBLE_DEPSGRAPH) != 0)) 
{
   GPUViewport *viewport = WM_draw_region_get_viewport(region);
-  DRW_draw_depth_object(vc->region, vc->v3d, viewport, obact_eval);
+  DRW_draw_depth_object(vc->scene, vc->region, vc->v3d, viewport, 
obact_eval);
 }
 
 vc->v3d->flag &= ~V3D_INVALID_BACKBUF;

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [4119e9c60b9] master: Merge branch 'blender-v2.83-release'

2020-04-27 Thread Philipp Oeser
Commit: 4119e9c60b94a9ce1f00860db3f2cbd62c55cf4f
Author: Philipp Oeser
Date:   Mon Apr 27 16:46:17 2020 +0200
Branches: master
https://developer.blender.org/rB4119e9c60b94a9ce1f00860db3f2cbd62c55cf4f

Merge branch 'blender-v2.83-release'

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [995611640ec] blender-v2.83-release: Cleanup: clang format

2020-04-27 Thread Philipp Oeser
Commit: 995611640ec1272abdbff846509c6ee1b1b76b67
Author: Philipp Oeser
Date:   Mon Apr 27 16:55:59 2020 +0200
Branches: blender-v2.83-release
https://developer.blender.org/rB995611640ec1272abdbff846509c6ee1b1b76b67

Cleanup: clang format

missed in rB4fd005fefb01.

===

M   source/blender/draw/intern/draw_manager.c

===

diff --git a/source/blender/draw/intern/draw_manager.c 
b/source/blender/draw/intern/draw_manager.c
index 7bc3dcfab81..28c8570e897 100644
--- a/source/blender/draw/intern/draw_manager.c
+++ b/source/blender/draw/intern/draw_manager.c
@@ -2430,7 +2430,8 @@ static void draw_world_clip_planes_from_rv3d(GPUBatch 
*batch, const float world_
 /**
  * Clears the Depth Buffer and draws only the specified object.
  */
-void DRW_draw_depth_object(Scene *scene, ARegion *region, View3D *v3d, 
GPUViewport *viewport, Object *object)
+void DRW_draw_depth_object(
+Scene *scene, ARegion *region, View3D *v3d, GPUViewport *viewport, Object 
*object)
 {
   RegionView3D *rv3d = region->regiondata;

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [5559edf3c7b] master: Merge branch 'blender-v2.83-release'

2020-04-27 Thread Philipp Oeser
Commit: 5559edf3c7b854186d2e6cd9c5a492c15df77072
Author: Philipp Oeser
Date:   Mon Apr 27 16:57:58 2020 +0200
Branches: master
https://developer.blender.org/rB5559edf3c7b854186d2e6cd9c5a492c15df77072

Merge branch 'blender-v2.83-release'

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [fbae4c5ba3f] blender-v2.83-release: Fix T74700: "Convert Text to Curve" disregards "Text on Curve"

2020-04-27 Thread Philipp Oeser
Commit: fbae4c5ba3f6836b6223888de2fe346865acde31
Author: Philipp Oeser
Date:   Mon Apr 27 17:35:35 2020 +0200
Branches: blender-v2.83-release
https://developer.blender.org/rBfbae4c5ba3f6836b6223888de2fe346865acde31

Fix T74700: "Convert Text to Curve" disregards "Text on Curve"

There was an assert here as well since using the original object to read
from was having an empty runtime curve cache.

Now use BKE_vfont_to_curve_ex instead of BKE_vfont_to_curve, so we can
read from the evaluated object and write to the original curves in order
to have the modified data taken into account on next object evaluation.
(BKE_vfont_to_curve would read and write to/from the same object)

Final solution provided by @sergey in that report, thx!

===

M   source/blender/editors/object/object_add.c

===

diff --git a/source/blender/editors/object/object_add.c 
b/source/blender/editors/object/object_add.c
index 9119d1cac86..9e0a6d51614 100644
--- a/source/blender/editors/object/object_add.c
+++ b/source/blender/editors/object/object_add.c
@@ -2380,13 +2380,8 @@ static int convert_exec(bContext *C, wmOperator *op)
 
   cu = newob->data;
 
-  /* TODO(sergey): Ideally DAG will create nurbs list for a curve data
-   *   datablock, but for until we've got granular update
-   *   lets take care by selves.
-   */
-  /* XXX This may fail/crash, since BKE_vfont_to_curve()
-   * accesses evaluated data in some cases (bastien). */
-  BKE_vfont_to_curve(newob, FO_EDIT);
+  Object *ob_eval = DEG_get_evaluated_object(depsgraph, ob);
+  BKE_vfont_to_curve_ex(ob_eval, ob_eval->data, FO_EDIT, &cu->nurb, NULL, 
NULL, NULL, NULL);
 
   newob->type = OB_CURVE;
   cu->type = OB_CURVE;

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [5f3990d69ae] master: Merge branch 'blender-v2.83-release'

2020-04-27 Thread Philipp Oeser
Commit: 5f3990d69aed57d9f18b82d3f78f4932d144cf3a
Author: Philipp Oeser
Date:   Mon Apr 27 18:15:47 2020 +0200
Branches: master
https://developer.blender.org/rB5f3990d69aed57d9f18b82d3f78f4932d144cf3a

Merge branch 'blender-v2.83-release'

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [94c514cf34c] master: Merge branch 'blender-v2.83-release'

2020-04-27 Thread Philipp Oeser
Commit: 94c514cf34c745bd2865040245c7ab192290353b
Author: Philipp Oeser
Date:   Mon Apr 27 18:32:32 2020 +0200
Branches: master
https://developer.blender.org/rB94c514cf34c745bd2865040245c7ab192290353b

Merge branch 'blender-v2.83-release'

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [475bd6b829c] blender-v2.83-release: Fix T76179: Unable to select render passes when a render has fewer passes than one in another slot

2020-04-28 Thread Philipp Oeser
Commit: 475bd6b829c38966b0fd4fdaff2eb61cc71c46c4
Author: Philipp Oeser
Date:   Tue Apr 28 12:59:23 2020 +0200
Branches: blender-v2.83-release
https://developer.blender.org/rB475bd6b829c38966b0fd4fdaff2eb61cc71c46c4

Fix T76179: Unable to select render passes when a render has fewer
passes than one in another slot

If a particular pass is not available in a slot we are switching to,
still show the menu, but with a blank name for the currently selected
item so that the user can change it to a valid value.

thx @brecht for providing the standard way Blender deals with these
kinds of situations.

Maniphest Tasks: T76179

Differential Revision: https://developer.blender.org/D7552

===

M   source/blender/editors/space_image/image_buttons.c

===

diff --git a/source/blender/editors/space_image/image_buttons.c 
b/source/blender/editors/space_image/image_buttons.c
index 3658ebae3a2..fcd6baa9582 100644
--- a/source/blender/editors/space_image/image_buttons.c
+++ b/source/blender/editors/space_image/image_buttons.c
@@ -656,8 +656,8 @@ static void uiblock_layer_pass_buttons(
 /* pass */
 rpass = (rl ? BLI_findlink(&rl->passes, iuser->pass) : NULL);
 
-if (rpass && RE_passes_have_name(rl)) {
-  display_name = rpass->name;
+if (RE_passes_have_name(rl)) {
+  display_name = rpass ? rpass->name : "";
   rnd_pt = ui_imageuser_data_copy(&rnd_pt_local);
   but = uiDefMenuBut(block,
  ui_imageuser_pass_menu,

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [7bc4a436a08] master: Merge branch 'blender-v2.83-release'

2020-04-28 Thread Philipp Oeser
Commit: 7bc4a436a0811dd8822c5c77f28aac81e64277b8
Author: Philipp Oeser
Date:   Tue Apr 28 17:18:01 2020 +0200
Branches: master
https://developer.blender.org/rB7bc4a436a0811dd8822c5c77f28aac81e64277b8

Merge branch 'blender-v2.83-release'

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [3af52c6ec3a] master: Merge branch 'blender-v2.83-release'

2020-04-29 Thread Philipp Oeser
Commit: 3af52c6ec3aad18e544c30944c472294d905b8d0
Author: Philipp Oeser
Date:   Wed Apr 29 10:27:42 2020 +0200
Branches: master
https://developer.blender.org/rB3af52c6ec3aad18e544c30944c472294d905b8d0

Merge branch 'blender-v2.83-release'

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [e07b245fe1f] blender-v2.83-release: Armature posemode: add mouse independent "Select Linked" operator

2020-04-29 Thread Philipp Oeser
Commit: e07b245fe1f41cab13d772c3e26adc2521126324
Author: Philipp Oeser
Date:   Mon Apr 27 15:41:22 2020 +0200
Branches: blender-v2.83-release
https://developer.blender.org/rBe07b245fe1f41cab13d772c3e26adc2521126324

Armature posemode: add mouse independent "Select Linked" operator

The current "Select Linked" operator works based on mouse position and
makes no sense to call from the menus and was removed in rB536055e1ee0b.

This patch adds an operator independent from mouse position that just
selects all bones in relation to selected bones (and adds back menu
entries, adds keymap entry CTRL+L).

The original operator is renamed to 'select_linked_pick' internally
(this is now more in line to how "Select Linked" works for meshes,
curves etc)

ref T76071

Maniphest Tasks: T76071

Differential Revision: https://developer.blender.org/D7542

===

M   release/scripts/presets/keyconfig/keymap_data/blender_default.py
M   release/scripts/startup/bl_ui/space_view3d.py
M   source/blender/editors/armature/armature_intern.h
M   source/blender/editors/armature/armature_ops.c
M   source/blender/editors/armature/pose_select.c

===

diff --git a/release/scripts/presets/keyconfig/keymap_data/blender_default.py 
b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
index 7be6ddb5bca..07916fa9799 100644
--- a/release/scripts/presets/keyconfig/keymap_data/blender_default.py
+++ b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
@@ -3859,7 +3859,8 @@ def km_pose(params):
  {"properties": [("direction", 'CHILD'), ("extend", False)]}),
 ("pose.select_hierarchy", {"type": 'RIGHT_BRACKET', "value": 'PRESS', 
"shift": True},
  {"properties": [("direction", 'CHILD'), ("extend", True)]}),
-("pose.select_linked", {"type": 'L', "value": 'PRESS'}, None),
+("pose.select_linked", {"type": 'L', "value": 'PRESS', "ctrl": True}, 
None),
+("pose.select_linked_pick", {"type": 'L', "value": 'PRESS'}, None),
 ("pose.select_grouped", {"type": 'G', "value": 'PRESS', "shift": 
True}, None),
 ("pose.select_mirror", {"type": 'M', "value": 'PRESS', "shift": True, 
"ctrl": True}, None),
 ("pose.constraint_add_with_targets", {"type": 'C', "value": 'PRESS', 
"shift": True, "ctrl": True}, None),
diff --git a/release/scripts/startup/bl_ui/space_view3d.py 
b/release/scripts/startup/bl_ui/space_view3d.py
index c0a786d9658..5d47566d880 100644
--- a/release/scripts/startup/bl_ui/space_view3d.py
+++ b/release/scripts/startup/bl_ui/space_view3d.py
@@ -1469,6 +1469,7 @@ class VIEW3D_MT_select_pose(Menu):
 layout.separator()
 
 layout.operator("pose.select_constraint_target", text="Constraint 
Target")
+layout.operator("pose.select_linked", text="Linked")
 
 layout.separator()
 
diff --git a/source/blender/editors/armature/armature_intern.h 
b/source/blender/editors/armature/armature_intern.h
index 3d41fd5f0c6..08d82bf13c9 100644
--- a/source/blender/editors/armature/armature_intern.h
+++ b/source/blender/editors/armature/armature_intern.h
@@ -104,6 +104,7 @@ void POSE_OT_select_all(struct wmOperatorType *ot);
 void POSE_OT_select_parent(struct wmOperatorType *ot);
 void POSE_OT_select_hierarchy(struct wmOperatorType *ot);
 void POSE_OT_select_linked(struct wmOperatorType *ot);
+void POSE_OT_select_linked_pick(struct wmOperatorType *ot);
 void POSE_OT_select_constraint_target(struct wmOperatorType *ot);
 void POSE_OT_select_grouped(struct wmOperatorType *ot);
 void POSE_OT_select_mirror(struct wmOperatorType *ot);
diff --git a/source/blender/editors/armature/armature_ops.c 
b/source/blender/editors/armature/armature_ops.c
index b304ce92a54..da1b29307b1 100644
--- a/source/blender/editors/armature/armature_ops.c
+++ b/source/blender/editors/armature/armature_ops.c
@@ -100,6 +100,7 @@ void ED_operatortypes_armature(void)
   WM_operatortype_append(POSE_OT_select_parent);
   WM_operatortype_append(POSE_OT_select_hierarchy);
   WM_operatortype_append(POSE_OT_select_linked);
+  WM_operatortype_append(POSE_OT_select_linked_pick);
   WM_operatortype_append(POSE_OT_select_constraint_target);
   WM_operatortype_append(POSE_OT_select_grouped);
   WM_operatortype_append(POSE_OT_select_mirror);
diff --git a/source/blender/editors/

[Bf-blender-cvs] [fed5e0ca04b] master: Merge branch 'blender-v2.83-release'

2020-04-29 Thread Philipp Oeser
Commit: fed5e0ca04b155d9e5ee4a1f64b0a2cac5c4e762
Author: Philipp Oeser
Date:   Wed Apr 29 11:10:24 2020 +0200
Branches: master
https://developer.blender.org/rBfed5e0ca04b155d9e5ee4a1f64b0a2cac5c4e762

Merge branch 'blender-v2.83-release'

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [08048f7cceb] blender-v2.83-release: Fix T75810: Child bone frozen when both Auto IK and X-Axis mirror are used

2020-04-29 Thread Philipp Oeser
Commit: 08048f7cceb82826bb520a2ca04f0bc38271faa9
Author: Philipp Oeser
Date:   Tue Apr 28 19:20:07 2020 +0200
Branches: blender-v2.83-release
https://developer.blender.org/rB08048f7cceb82826bb520a2ca04f0bc38271faa9

Fix T75810: Child bone frozen when both Auto IK and X-Axis mirror are
used

Caused by {rBa6a9a12e8f32}

Other relevant commits:
rBb8ca806b7798e2f8dd6effca8f0d081b3cd8c23f
rBde530a95dc7b482dc22c933b9b8b2a98c79b5663

The issue is caused by some leftover BONE_TRANSFORM_MIRROR flags on a
bone from previous runs (file in the report had the flag still on
forearm.R).

With these false leftover flags still set, `pose_grab_with_ik()` cannot
work correctly. Culprit commit above removed the early clearing of this
flag on all bones, this should be restored [this happened in
`count_set_pose_transflags()`].

This should only be done in the beginning of the transform process, so
now still clear the flags early in 'createTransPose()' [but dont restore
this in 'count_set_pose_transflags()' -- this will be called from
special_aftertrans_update again, so placing the clearance here only
complicates things (autokeyframe_pose() still needs to work as well)...]

Maniphest Tasks: T75810

Differential Revision: https://developer.blender.org/D7527

===

M   source/blender/editors/transform/transform_convert_armature.c

===

diff --git a/source/blender/editors/transform/transform_convert_armature.c 
b/source/blender/editors/transform/transform_convert_armature.c
index 91b8b1ff657..779257ef671 100644
--- a/source/blender/editors/transform/transform_convert_armature.c
+++ b/source/blender/editors/transform/transform_convert_armature.c
@@ -685,6 +685,9 @@ void createTransPose(TransInfo *t)
 if (mirror) {
   int total_mirrored = 0;
   LISTBASE_FOREACH (bPoseChannel *, pchan, &ob->pose->chanbase) {
+/* Clear the MIRROR flag from previous runs. */
+pchan->bone->flag &= ~BONE_TRANSFORM_MIRROR;
+
 if ((pchan->bone->flag & BONE_TRANSFORM) &&
 BKE_pose_channel_get_mirrored(ob->pose, pchan->name)) {
   total_mirrored++;

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [657188c1a24] master: Merge branch 'blender-v2.83-release'

2020-04-29 Thread Philipp Oeser
Commit: 657188c1a240eececd4aec95f97fe1b96c140070
Author: Philipp Oeser
Date:   Wed Apr 29 11:25:08 2020 +0200
Branches: master
https://developer.blender.org/rB657188c1a240eececd4aec95f97fe1b96c140070

Merge branch 'blender-v2.83-release'

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [2845b232a77] blender-v2.83-release: Fix T75522: Math node truncate operator tooltip provides no explanation

2020-04-29 Thread Philipp Oeser
Commit: 2845b232a77d37733b20aafd366cf0f2533aff43
Author: Philipp Oeser
Date:   Mon Apr 27 18:49:43 2020 +0200
Branches: blender-v2.83-release
https://developer.blender.org/rB2845b232a77d37733b20aafd366cf0f2533aff43

Fix T75522: Math node truncate operator tooltip provides no explanation

===

M   release/scripts/modules/bl_i18n_utils/settings.py
M   source/blender/makesrna/intern/rna_nodetree.c

===

diff --git a/release/scripts/modules/bl_i18n_utils/settings.py 
b/release/scripts/modules/bl_i18n_utils/settings.py
index c736f78d501..c233681dc41 100644
--- a/release/scripts/modules/bl_i18n_utils/settings.py
+++ b/release/scripts/modules/bl_i18n_utils/settings.py
@@ -377,7 +377,6 @@ WARN_MSGID_NOT_CAPITALIZED_ALLOWED = {
 "normal",
 "right",
 "the lazy dog",
-"trunc(A)",
 "unable to load movie clip",
 "unable to load text",
 "unable to open the file",
diff --git a/source/blender/makesrna/intern/rna_nodetree.c 
b/source/blender/makesrna/intern/rna_nodetree.c
index 31d6ff80f34..71b3f1ee94b 100644
--- a/source/blender/makesrna/intern/rna_nodetree.c
+++ b/source/blender/makesrna/intern/rna_nodetree.c
@@ -174,7 +174,7 @@ const EnumPropertyItem rna_enum_node_math_items[] = {
  "Round A to the nearest integer. Round upward if the fraction part is 
0.5"},
 {NODE_MATH_FLOOR, "FLOOR", 0, "Floor", "The largest integer smaller than 
or equal A"},
 {NODE_MATH_CEIL, "CEIL", 0, "Ceil", "The smallest integer greater than or 
equal A"},
-{NODE_MATH_TRUNC, "TRUNC", 0, "Truncate", "trunc(A)"},
+{NODE_MATH_TRUNC, "TRUNC", 0, "Truncate", "The integer part of A, removing 
fractional digits"},
 {0, "", ICON_NONE, NULL, NULL},
 {NODE_MATH_FRACTION, "FRACT", 0, "Fraction", "The fraction part of A"},
 {NODE_MATH_MODULO, "MODULO", 0, "Modulo", "Modulo using fmod(A,B)"},

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [980cebc459f] master: Merge branch 'blender-v2.83-release'

2020-04-29 Thread Philipp Oeser
Commit: 980cebc459fb1990b216b5c5c0935b30f10fedf7
Author: Philipp Oeser
Date:   Wed Apr 29 11:44:56 2020 +0200
Branches: master
https://developer.blender.org/rB980cebc459fb1990b216b5c5c0935b30f10fedf7

Merge branch 'blender-v2.83-release'

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


<    1   2   3   4   5   6   7   8   9   10   >