Fix T81200: Crash on certain armature select operators when OpenGL Depth
Picking is disabled Affected were (at least) - Select Linked pick - Select Shortest Path Was originally caused by rB8b347fc2cdc6 [which got improved in rBfc8a7a44b200 - but only partially]. After removal of BONESEL_NOSEL we have to filter out -1 from the hits for any bone picking it seems (since armature drawing uses this). In rBfc8a7a44b200, this was done for 'ED_armature_edit_select_pick' (or 'get_nearest_editbonepoint' precisely), now do this for 'ed_armature_pick_bone_impl' as well. Reviewers: campbellbarton Maniphest Tasks: T81200 Differential Revision: https://developer.blender.org/D9080
This commit is contained in:
parent
8157305869
commit
e3b49bb850
Notes:
blender-bot
2023-02-14 07:40:56 +01:00
Referenced by issue #81200, Select linked on armatures crashes when OpenGL Depth Picking is disabled
|
@ -335,8 +335,16 @@ static void *ed_armature_pick_bone_impl(
|
|||
|
||||
BLI_rcti_init_pt_radius(&rect, xy, 0);
|
||||
|
||||
hits = view3d_opengl_select(
|
||||
&vc, buffer, MAXPICKBUF, &rect, VIEW3D_SELECT_PICK_NEAREST, VIEW3D_SELECT_FILTER_NOP);
|
||||
/* Don't use hits with this ID, (armature drawing uses this). */
|
||||
const int select_id_ignore = -1;
|
||||
|
||||
hits = view3d_opengl_select_with_id_filter(&vc,
|
||||
buffer,
|
||||
MAXPICKBUF,
|
||||
&rect,
|
||||
VIEW3D_SELECT_PICK_NEAREST,
|
||||
VIEW3D_SELECT_FILTER_NOP,
|
||||
select_id_ignore);
|
||||
|
||||
*r_base = NULL;
|
||||
|
||||
|
|
Loading…
Reference in New Issue