diff --git a/indra/newview/llfloatersnapshot.cpp b/indra/newview/llfloatersnapshot.cpp
index 5ab9092c0e..36eed38bbe 100644
--- a/indra/newview/llfloatersnapshot.cpp
+++ b/indra/newview/llfloatersnapshot.cpp
@@ -1478,12 +1478,14 @@ bool LLFloaterSnapshot::isWaitingState()
return (impl->getStatus() == ImplBase::STATUS_WORKING);
}
-bool LLFloaterSnapshotBase::ImplBase::updatePreviewList(bool initialized)
+// FIRE-35002 - Post to flickr broken, improved solution
+// bool LLFloaterSnapshotBase::ImplBase::updatePreviewList(bool initialized)
+bool LLFloaterSnapshotBase::ImplBase::updatePreviewList(bool initialized, bool have_flickr)
+//
{
// Share to Flickr
//if (!initialized)
- LLFloaterFlickr* floater_flickr = LLFloaterReg::findTypedInstance("flickr");
- if (!initialized && !floater_flickr)
+ if (!initialized && !have_flickr)
//
return false;
@@ -1502,8 +1504,11 @@ void LLFloaterSnapshotBase::ImplBase::updateLivePreview()
{
// don't update preview for hidden floater
// FIRE-35002 - Post to flickr broken
- // if (mFloater && mFloater->isInVisibleChain() && ImplBase::updatePreviewList(true))
- if (ImplBase::updatePreviewList(true) && mFloater)
+ LLFloaterFlickr* floater_flickr = LLFloaterReg::findTypedInstance("flickr");
+ auto have_flickr = floater_flickr != nullptr;
+ if ( ((mFloater && mFloater->isInVisibleChain()) ||
+ have_flickr) &&
+ ImplBase::updatePreviewList(true, have_flickr))
//
{
LL_DEBUGS() << "changed" << LL_ENDL;
diff --git a/indra/newview/llfloatersnapshot.h b/indra/newview/llfloatersnapshot.h
index c90f9a3e3c..1fc101848c 100644
--- a/indra/newview/llfloatersnapshot.h
+++ b/indra/newview/llfloatersnapshot.h
@@ -122,7 +122,7 @@ public:
virtual EStatus getStatus() const { return mStatus; }
virtual void setNeedRefresh(bool need);
- static bool updatePreviewList(bool initialized);
+ static bool updatePreviewList(bool initialized, bool have_flickr = false); // FIRE-35002 - Post to flickr broken, improved solution
void setAdvanced(bool advanced) { mAdvanced = advanced; }
void setSkipReshaping(bool skip) { mSkipReshaping = skip; }