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();