From 2c8d13135ad15f587dfe40353534c129e030511d 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; }