From c66aa58a60dc7f840f9d4e61340b29e78f83a662 Mon Sep 17 00:00:00 2001 From: tetektoza Date: Thu, 1 Jan 2026 21:12:09 +0100 Subject: [PATCH] Part: Remove `needPickedList` mat override to prevent rendering artifact The `needPickedList` check in `SoBrepFaceSet` was triggering unnecessary material override processing that caused face clipping artifacts when the "Picked object list" option was enabled in Selection View. This check has been removed as the picked list functionality works independently of the rendering path. --- src/Mod/Part/Gui/SoBrepFaceSet.cpp | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/src/Mod/Part/Gui/SoBrepFaceSet.cpp b/src/Mod/Part/Gui/SoBrepFaceSet.cpp index f5b4d0daa5..c1ae8a5770 100644 --- a/src/Mod/Part/Gui/SoBrepFaceSet.cpp +++ b/src/Mod/Part/Gui/SoBrepFaceSet.cpp @@ -854,20 +854,12 @@ bool SoBrepFaceSet::overrideMaterialBinding(SoGLRenderAction* action, SelContext if ((mb == SoMaterialBindingElement::OVERALL || (mb == SoMaterialBindingElement::PER_PART && diffuse_size >= partIndex.getNum())) - && ((ctx && Gui::Selection().needPickedList()) || trans0 != 0.0 - || (ctx2 && !ctx2->colors.empty()))) { + && (trans0 != 0.0 || (ctx2 && !ctx2->colors.empty()))) { state->push(); packedColors.clear(); - if (ctx && Gui::Selection().needPickedList()) { - hasTransparency = true; - trans_size = 1; - if (ctx2) { - ctx2->trans0 = trans0; - } - } - else if (ctx2) { + if (ctx2) { ctx2->trans0 = 0.0; }