Page MenuHome

In Face-select Mode, Hiding unselected doesn't hide loose edges
Confirmed, NormalPublicBUG

Description

System Information
Operating system: Windows-10-10.0.18362-SP0 64 Bits
Graphics card: Intel(R) HD Graphics 400 Intel 4.4.0 - Build 20.19.15.5070

Blender Version
Broken: version: 2.83 (sub 0), branch: master, commit date: 2020-01-17 19:09, hash: rB1f92e9903fb7
Worked: (optional)

Short description of error
I don't really know if it is a bug or a limitation but Loose edges are not hidden when hiding unselected in face select mode.

Exact steps for others to reproduce the error
Open the attached blend file and hit Shift+H with the selected face. It doesn't hide the loose edges.

Event Timeline

Since those aren't faces, I think it works as intended. But would be good to get someone else to confirm. @Campbell Barton (campbellbarton) thoughts`?

It certainly isn't working as intended, that operator should hide all unselected geometry (i.e. it should do precisely the inverse of Hide Selected). There was a fix for Hide Unselected semi-recently as per T71554, but it seems the core implementation is missing something.

Germano Cavalcante (mano-wii) changed the task status from Needs Triage to Confirmed.Jan 21 2020, 1:23 AM

Although it may be intended, this does not appear to be desirable behavior.
And it would not be difficult to fix:

diff --git a/source/blender/editors/mesh/editmesh_utils.c b/source/blender/editors/mesh/editmesh_utils.c
index f7092a8c6ab..18b13d8934c 100644
--- a/source/blender/editors/mesh/editmesh_utils.c
+++ b/source/blender/editors/mesh/editmesh_utils.c
@@ -1287,7 +1287,7 @@ bool EDBM_mesh_hide(BMEditMesh *em, bool swap)
   char hflag_swap = swap ? BM_ELEM_SELECT : 0;
   bool changed = true;
 
-  if (em->selectmode & SCE_SELECT_VERTEX) {
+  if (swap || em->selectmode & SCE_SELECT_VERTEX) {
     itermode = BM_VERTS_OF_MESH;
   }
   else if (em->selectmode & SCE_SELECT_EDGE) {
Philipp Oeser (lichtwerk) changed the subtype of this task from "Report" to "Bug".Jan 24 2020, 2:21 PM

I dare calling this a bug.