diff --git a/indra/newview/llhudobject.cpp b/indra/newview/llhudobject.cpp index e6fbfbfb38..1dd136f61f 100644 --- a/indra/newview/llhudobject.cpp +++ b/indra/newview/llhudobject.cpp @@ -309,10 +309,20 @@ void LLHUDObject::renderAllForTimer() { sHUDObjects.erase(cur_it); } - else if (hud_objp->isVisible()) + // FIRE-33239 - particles do not sie when UI is disabled + // else if (hud_objp->isVisible()) + // { + // hud_objp->renderForTimer(); + // } + else { - hud_objp->renderForTimer(); + LLHUDEffect* effect = dynamic_cast(hud_objp); + if (effect || hud_objp->isVisible()) + { + hud_objp->renderForTimer(); + } } + // } } diff --git a/indra/newview/llviewerdisplay.cpp b/indra/newview/llviewerdisplay.cpp index 4128339639..406df69de8 100644 --- a/indra/newview/llviewerdisplay.cpp +++ b/indra/newview/llviewerdisplay.cpp @@ -1547,6 +1547,13 @@ void render_ui(F32 zoom_factor, int subfield) LLHUDObject::renderAll(); render_ui_2d(); } + // FIRE-33239 - particles do not sie when UI is disabled + if (!render_ui) + { + // Make sure particle effects disappear + LLHUDObject::renderAllForTimer(); + } + // gViewerWindow->setup2DRender(); gViewerWindow->updateDebugText();