summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/llfloaterland.cpp30
-rw-r--r--indra/newview/llfloaterland.h2
-rw-r--r--indra/newview/llfloatersnapshot.cpp77
-rw-r--r--indra/newview/llfloatersnapshot.h2
-rw-r--r--indra/newview/llgltfmateriallist.cpp2
-rw-r--r--indra/newview/llgroupmgr.cpp10
-rw-r--r--indra/newview/llimprocessing.cpp3
-rw-r--r--indra/newview/lllogininstance.cpp2
-rw-r--r--indra/newview/llpanelgrouproles.cpp6
-rw-r--r--indra/newview/llpanellandmedia.cpp7
-rw-r--r--indra/newview/llpanellogin.cpp2
-rw-r--r--indra/newview/llpanelsnapshot.cpp13
-rw-r--r--indra/newview/llviewerassetstorage.cpp6
-rw-r--r--indra/newview/llviewernetwork.cpp3
-rw-r--r--indra/newview/llviewertexture.cpp52
-rw-r--r--indra/newview/skins/default/xui/en/floater_about_land.xml24
-rw-r--r--indra/newview/skins/default/xui/en/floater_snapshot.xml1
17 files changed, 139 insertions, 103 deletions
diff --git a/indra/newview/llfloaterland.cpp b/indra/newview/llfloaterland.cpp
index 5c5219bcdd..750d218f52 100644
--- a/indra/newview/llfloaterland.cpp
+++ b/indra/newview/llfloaterland.cpp
@@ -466,9 +466,6 @@ bool LLPanelLandGeneral::postBuild()
mContentRating = getChild<LLTextBox>("ContentRatingText");
mLandType = getChild<LLTextBox>("LandTypeText");
- mBtnProfile = getChild<LLButton>("Profile...");
- mBtnProfile->setClickedCallback(boost::bind(&LLPanelLandGeneral::onClickProfile, this));
-
mTextGroupLabel = getChild<LLTextBox>("Group:");
mTextGroup = getChild<LLTextBox>("GroupText");
@@ -599,8 +596,6 @@ void LLPanelLandGeneral::refresh()
mTextOwner->setText(LLStringUtil::null);
mContentRating->setText(LLStringUtil::null);
mLandType->setText(LLStringUtil::null);
- mBtnProfile->setLabel(getString("profile_text"));
- mBtnProfile->setEnabled(false);
mTextClaimDate->setText(LLStringUtil::null);
mTextGroup->setText(LLStringUtil::null);
@@ -682,7 +677,6 @@ void LLPanelLandGeneral::refresh()
mTextSalePending->setEnabled(false);
mTextOwner->setText(getString("public_text"));
mTextOwner->setEnabled(false);
- mBtnProfile->setEnabled(false);
mTextClaimDate->setText(LLStringUtil::null);
mTextClaimDate->setEnabled(false);
mTextGroup->setText(getString("none_text"));
@@ -711,21 +705,14 @@ void LLPanelLandGeneral::refresh()
//refreshNames();
mTextOwner->setEnabled(true);
- // We support both group and personal profiles
- mBtnProfile->setEnabled(true);
-
if (parcel->getGroupID().isNull())
{
- // Not group owned, so "Profile"
- mBtnProfile->setLabel(getString("profile_text"));
mTextGroup->setText(getString("none_text"));
mTextGroup->setEnabled(false);
}
else
{
- // Group owned, so "Info"
- mBtnProfile->setLabel(getString("info_text"));
//mTextGroup->setText("HIPPOS!");//parcel->getGroupName());
mTextGroup->setEnabled(true);
@@ -959,23 +946,6 @@ void LLPanelLandGeneral::onClickSetGroup()
}
}
-void LLPanelLandGeneral::onClickProfile()
-{
- LLParcel* parcel = mParcel->getParcel();
- if (!parcel) return;
-
- if (parcel->getIsGroupOwned())
- {
- const LLUUID& group_id = parcel->getGroupID();
- LLGroupActions::show(group_id);
- }
- else
- {
- const LLUUID& avatar_id = parcel->getOwnerID();
- LLAvatarActions::showProfile(avatar_id);
- }
-}
-
// public
void LLPanelLandGeneral::setGroup(const LLUUID& group_id)
{
diff --git a/indra/newview/llfloaterland.h b/indra/newview/llfloaterland.h
index 8af0caab33..79e5da042f 100644
--- a/indra/newview/llfloaterland.h
+++ b/indra/newview/llfloaterland.h
@@ -146,7 +146,6 @@ public:
virtual void draw();
void setGroup(const LLUUID& group_id);
- void onClickProfile();
void onClickSetGroup();
static void onClickDeed(void*);
static void onClickBuyLand(void* data);
@@ -193,7 +192,6 @@ protected:
LLTextBox* mTextOwnerLabel;
LLTextBox* mTextOwner;
- LLButton* mBtnProfile;
LLTextBox* mContentRating;
LLTextBox* mLandType;
diff --git a/indra/newview/llfloatersnapshot.cpp b/indra/newview/llfloatersnapshot.cpp
index 83d7a92846..8fa279dace 100644
--- a/indra/newview/llfloatersnapshot.cpp
+++ b/indra/newview/llfloatersnapshot.cpp
@@ -96,13 +96,13 @@ LLSnapshotModel::ESnapshotFormat LLFloaterSnapshot::Impl::getImageFormat(LLFloat
LLSpinCtrl* LLFloaterSnapshot::Impl::getWidthSpinner(LLFloaterSnapshotBase* floater)
{
LLPanelSnapshot* active_panel = getActivePanel(floater);
- return active_panel ? active_panel->getWidthSpinner() : floater->getChild<LLSpinCtrl>("snapshot_width");
+ return active_panel ? active_panel->getWidthSpinner() : floater->findChild<LLSpinCtrl>("snapshot_width");
}
LLSpinCtrl* LLFloaterSnapshot::Impl::getHeightSpinner(LLFloaterSnapshotBase* floater)
{
LLPanelSnapshot* active_panel = getActivePanel(floater);
- return active_panel ? active_panel->getHeightSpinner() : floater->getChild<LLSpinCtrl>("snapshot_height");
+ return active_panel ? active_panel->getHeightSpinner() : floater->findChild<LLSpinCtrl>("snapshot_height");
}
void LLFloaterSnapshot::Impl::enableAspectRatioCheckbox(LLFloaterSnapshotBase* floater, bool enable)
@@ -278,7 +278,7 @@ void LLFloaterSnapshot::Impl::updateControls(LLFloaterSnapshotBase* floater)
LLSpinCtrl* height_ctrl = getHeightSpinner(floater);
// Initialize spinners.
- if (width_ctrl->getValue().asInteger() == 0)
+ if (width_ctrl && width_ctrl->getValue().asInteger() == 0)
{
S32 w = gViewerWindow->getWindowWidthRaw();
LL_DEBUGS() << "Initializing width spinner (" << width_ctrl->getName() << "): " << w << LL_ENDL;
@@ -288,7 +288,7 @@ void LLFloaterSnapshot::Impl::updateControls(LLFloaterSnapshotBase* floater)
width_ctrl->setIncrement((F32)(w >> 1));
}
}
- if (height_ctrl->getValue().asInteger() == 0)
+ if (height_ctrl && height_ctrl->getValue().asInteger() == 0)
{
S32 h = gViewerWindow->getWindowHeightRaw();
LL_DEBUGS() << "Initializing height spinner (" << height_ctrl->getName() << "): " << h << LL_ENDL;
@@ -686,8 +686,8 @@ void LLFloaterSnapshot::Impl::updateResolution(LLUICtrl* ctrl, void* data, bool
LLSnapshotLivePreview* previewp = getPreviewView();
if (previewp && combobox->getCurrentIndex() >= 0)
{
- S32 original_width = 0 , original_height = 0 ;
- previewp->getSize(original_width, original_height) ;
+ S32 original_width = 0, original_height = 0;
+ previewp->getSize(original_width, original_height);
if (gSavedSettings.getBOOL("RenderUIInSnapshot") || gSavedSettings.getBOOL("RenderHUDInSnapshot"))
{ //clamp snapshot resolution to window size when showing UI or HUD in snapshot
@@ -737,24 +737,31 @@ void LLFloaterSnapshot::Impl::updateResolution(LLUICtrl* ctrl, void* data, bool
previewp->setSize(width, height);
}
- checkAspectRatio(view, width) ;
+ checkAspectRatio(view, width);
previewp->getSize(width, height);
- // We use the height spinner here because we come here via the aspect ratio
- // checkbox as well and we want height always changing to width by default.
- // If we use the width spinner we would change width according to height by
- // default, that is not what we want.
- updateSpinners(view, previewp, width, height, !getHeightSpinner(view)->isDirty()); // may change width and height
+ LLSpinCtrl* height_ctrl = getHeightSpinner(view);
+ if (height_ctrl)
+ {
+ // We use the height spinner here because we come here via the aspect ratio
+ // checkbox as well and we want height always changing to width by default.
+ // If we use the width spinner we would change width according to height by
+ // default, that is not what we want.
+ updateSpinners(view, previewp, width, height, !height_ctrl->isDirty()); // may change width and height
+ }
- if(getWidthSpinner(view)->getValue().asInteger() != width || getHeightSpinner(view)->getValue().asInteger() != height)
+ LLSpinCtrl* width_ctrl = getWidthSpinner(view);
+ if (width_ctrl
+ && height_ctrl
+ && (width_ctrl->getValue().asInteger() != width || height_ctrl->getValue().asInteger() != height))
{
- getWidthSpinner(view)->setValue(width);
- getHeightSpinner(view)->setValue(height);
+ width_ctrl->setValue(width);
+ height_ctrl->setValue(height);
if (getActiveSnapshotType(view) == LLSnapshotModel::SNAPSHOT_TEXTURE)
{
- getWidthSpinner(view)->setIncrement((F32)(width >> 1));
- getHeightSpinner(view)->setIncrement((F32)(height >> 1));
+ width_ctrl->setIncrement((F32)(width >> 1));
+ height_ctrl->setIncrement((F32)(height >> 1));
}
}
@@ -824,7 +831,7 @@ void LLFloaterSnapshot::Impl::comboSetCustom(LLFloaterSnapshotBase* floater, con
}
// Update supplied width and height according to the constrain proportions flag; limit them by max_val.
-bool LLFloaterSnapshot::Impl::checkImageSize(LLSnapshotLivePreview* previewp, S32& width, S32& height, bool isWidthChanged, S32 max_value)
+bool LLFloaterSnapshot::Impl::checkImageSize(LLSnapshotLivePreview* previewp, S32& width, S32& height, bool isWidthChanged, S32 max_value) const
{
S32 w = width ;
S32 h = height ;
@@ -870,19 +877,31 @@ bool LLFloaterSnapshot::Impl::checkImageSize(LLSnapshotLivePreview* previewp, S3
void LLFloaterSnapshot::Impl::setImageSizeSpinnersValues(LLFloaterSnapshotBase* view, S32 width, S32 height)
{
- getWidthSpinner(view)->forceSetValue(width);
- getHeightSpinner(view)->forceSetValue(height);
+ LLSpinCtrl* width_ctrl = getWidthSpinner(view);
+ LLSpinCtrl* height_ctrl = getHeightSpinner(view);
+ if (!height_ctrl || !width_ctrl)
+ {
+ return;
+ }
+ width_ctrl->forceSetValue(width);
+ height_ctrl->forceSetValue(height);
if (getActiveSnapshotType(view) == LLSnapshotModel::SNAPSHOT_TEXTURE)
{
- getWidthSpinner(view)->setIncrement((F32)(width >> 1));
- getHeightSpinner(view)->setIncrement((F32)(height >> 1));
+ width_ctrl->setIncrement((F32)(width >> 1));
+ height_ctrl->setIncrement((F32)(height >> 1));
}
}
void LLFloaterSnapshot::Impl::updateSpinners(LLFloaterSnapshotBase* view, LLSnapshotLivePreview* previewp, S32& width, S32& height, bool is_width_changed)
{
- getWidthSpinner(view)->resetDirty();
- getHeightSpinner(view)->resetDirty();
+ LLSpinCtrl* width_ctrl = getWidthSpinner(view);
+ LLSpinCtrl* height_ctrl = getHeightSpinner(view);
+ if (!height_ctrl || !width_ctrl)
+ {
+ return;
+ }
+ width_ctrl->resetDirty();
+ height_ctrl->resetDirty();
if (checkImageSize(previewp, width, height, is_width_changed, previewp->getMaxImageSize()))
{
setImageSizeSpinnersValues(view, width, height);
@@ -903,7 +922,15 @@ void LLFloaterSnapshot::Impl::applyCustomResolution(LLFloaterSnapshotBase* view,
if (w != curw || h != curh)
{
//if to upload a snapshot, process spinner input in a special way.
- previewp->setMaxImageSize((S32) getWidthSpinner(view)->getMaxValue()) ;
+ LLSpinCtrl* width_ctrl = getWidthSpinner(view);
+ if (width_ctrl)
+ {
+ previewp->setMaxImageSize((S32)width_ctrl->getMaxValue());
+ }
+ else
+ {
+ previewp->setMaxImageSize((S32)2048);
+ }
previewp->setSize(w,h);
checkAutoSnapshot(previewp, false);
diff --git a/indra/newview/llfloatersnapshot.h b/indra/newview/llfloatersnapshot.h
index 186d9c41cf..703ce9e57b 100644
--- a/indra/newview/llfloatersnapshot.h
+++ b/indra/newview/llfloatersnapshot.h
@@ -194,7 +194,7 @@ public:
void onImageFormatChange(LLFloaterSnapshotBase* view);
void applyCustomResolution(LLFloaterSnapshotBase* view, S32 w, S32 h);
static void onSendingPostcardFinished(LLFloaterSnapshotBase* floater, bool status);
- bool checkImageSize(LLSnapshotLivePreview* previewp, S32& width, S32& height, bool isWidthChanged, S32 max_value);
+ bool checkImageSize(LLSnapshotLivePreview* previewp, S32& width, S32& height, bool isWidthChanged, S32 max_value) const;
void setImageSizeSpinnersValues(LLFloaterSnapshotBase *view, S32 width, S32 height);
void updateSpinners(LLFloaterSnapshotBase* view, LLSnapshotLivePreview* previewp, S32& width, S32& height, bool is_width_changed);
static void onSnapshotUploadFinished(LLFloaterSnapshotBase* floater, bool status);
diff --git a/indra/newview/llgltfmateriallist.cpp b/indra/newview/llgltfmateriallist.cpp
index b784419780..4036544343 100644
--- a/indra/newview/llgltfmateriallist.cpp
+++ b/indra/newview/llgltfmateriallist.cpp
@@ -525,7 +525,7 @@ void LLGLTFMaterialList::onAssetLoadComplete(const LLUUID& id, LLAssetType::ETyp
if (status != LL_ERR_NOERR)
{
- LL_WARNS("GLTF") << "Error getting material asset data: " << LLAssetStorage::getErrorString(status) << " (" << status << ")" << LL_ENDL;
+ LL_WARNS("GLTF") << "Error getting material asset data: " << LLAssetStorage::getErrorString(status) << " (" << status << ") for asset " << id << LL_ENDL;
asset_data->mMaterial->materialComplete(false);
delete asset_data;
}
diff --git a/indra/newview/llgroupmgr.cpp b/indra/newview/llgroupmgr.cpp
index e0da762279..6081b36918 100644
--- a/indra/newview/llgroupmgr.cpp
+++ b/indra/newview/llgroupmgr.cpp
@@ -869,19 +869,15 @@ void LLGroupMgr::removeObserver(LLGroupMgrObserver* observer)
{
return;
}
- observer_multimap_t::iterator it;
- it = mObservers.find(observer->getID());
- while (it != mObservers.end())
+ observer_multimap_t::iterator it = mObservers.lower_bound(observer->getID());
+ observer_multimap_t::iterator end = mObservers.upper_bound(observer->getID());
+ for (; it != end; ++it)
{
if (it->second == observer)
{
mObservers.erase(it);
break;
}
- else
- {
- ++it;
- }
}
}
diff --git a/indra/newview/llimprocessing.cpp b/indra/newview/llimprocessing.cpp
index 3f60dc5d26..9ba939d35b 100644
--- a/indra/newview/llimprocessing.cpp
+++ b/indra/newview/llimprocessing.cpp
@@ -1582,7 +1582,8 @@ void LLIMProcessing::requestOfflineMessagesCoro(std::string url)
if (!contents.size())
{
- LL_WARNS("Messaging") << "No contents received for offline messages via capability " << url << LL_ENDL;
+ // Received no offline messages on login.
+ LL_INFOS("Messaging") << "No contents received for offline messages via capability " << url << LL_ENDL;
return;
}
diff --git a/indra/newview/lllogininstance.cpp b/indra/newview/lllogininstance.cpp
index 02f013ad3c..2cdaf40be8 100644
--- a/indra/newview/lllogininstance.cpp
+++ b/indra/newview/lllogininstance.cpp
@@ -96,6 +96,8 @@ LLLoginInstance::LLLoginInstance() :
mDispatcher.add("connect", "", boost::bind(&LLLoginInstance::handleLoginSuccess, this, _1));
mDispatcher.add("disconnect", "", boost::bind(&LLLoginInstance::handleDisconnect, this, _1));
mDispatcher.add("indeterminate", "", boost::bind(&LLLoginInstance::handleIndeterminate, this, _1));
+ // Todo, implement "authenticating"?
+ mDispatcher.add("authenticating", "", boost::bind(&LLLoginInstance::handleIndeterminate, this, _1));
}
void LLLoginInstance::setPlatformInfo(const std::string platform,
diff --git a/indra/newview/llpanelgrouproles.cpp b/indra/newview/llpanelgrouproles.cpp
index 426a89fe6c..b4adbe0819 100644
--- a/indra/newview/llpanelgrouproles.cpp
+++ b/indra/newview/llpanelgrouproles.cpp
@@ -3233,6 +3233,12 @@ void LLPanelGroupBanListSubTab::setBanCount(U32 ban_count)
void LLPanelGroupBanListSubTab::populateBanList()
{
+ if (mGroupID.isNull())
+ {
+ mBanList->deleteAllItems();
+ return;
+ }
+
LLGroupMgrGroupData* gdatap = LLGroupMgr::getInstance()->getGroupData(mGroupID);
if(!gdatap)
{
diff --git a/indra/newview/llpanellandmedia.cpp b/indra/newview/llpanellandmedia.cpp
index 294bd4021d..feea97c4a9 100644
--- a/indra/newview/llpanellandmedia.cpp
+++ b/indra/newview/llpanellandmedia.cpp
@@ -135,8 +135,6 @@ void LLPanelLandMedia::refresh()
mMediaURLEdit->setText(parcel->getMediaURL());
mMediaURLEdit->setEnabled( false );
- getChild<LLUICtrl>("current_url")->setValue(parcel->getMediaCurrentURL());
-
mMediaDescEdit->setText(parcel->getMediaDesc());
mMediaDescEdit->setEnabled( can_change_media );
@@ -234,12 +232,9 @@ void LLPanelLandMedia::setMediaURL(const std::string& media_url)
LLParcel *parcel = mParcel->getParcel();
if(parcel)
parcel->setMediaCurrentURL(media_url);
- // LLViewerMedia::navigateHome();
mMediaURLEdit->onCommit();
- // LLViewerParcelMedia::sendMediaNavigateMessage(media_url);
- getChild<LLUICtrl>("current_url")->setValue(media_url);
}
std::string LLPanelLandMedia::getMediaURL()
{
@@ -322,8 +317,6 @@ void LLPanelLandMedia::onResetBtn(void *userdata)
LLParcel* parcel = self->mParcel->getParcel();
// LLViewerMedia::navigateHome();
self->refresh();
- self->getChild<LLUICtrl>("current_url")->setValue(parcel->getMediaURL());
- // LLViewerParcelMedia::sendMediaNavigateMessage(parcel->getMediaURL());
}
diff --git a/indra/newview/llpanellogin.cpp b/indra/newview/llpanellogin.cpp
index 15cc8b421c..65520013aa 100644
--- a/indra/newview/llpanellogin.cpp
+++ b/indra/newview/llpanellogin.cpp
@@ -807,6 +807,8 @@ void LLPanelLogin::onUpdateStartSLURL(const LLSLURL& new_start_slurl)
case LLSLURL::HOME_LOCATION:
//location_combo->setCurrentByIndex(0); // home location
break;
+ case LLSLURL::LAST_LOCATION:
+ break;
default:
LL_WARNS("AppInit")<<"invalid login slurl, using home"<<LL_ENDL;
diff --git a/indra/newview/llpanelsnapshot.cpp b/indra/newview/llpanelsnapshot.cpp
index 56c0294dbe..d76f19617f 100644
--- a/indra/newview/llpanelsnapshot.cpp
+++ b/indra/newview/llpanelsnapshot.cpp
@@ -64,7 +64,12 @@ bool LLPanelSnapshot::postBuild()
{
S32 w = getTypedPreviewWidth();
S32 h = getTypedPreviewHeight();
- getChild<LLUICtrl>("save_btn")->setLabelArg("[UPLOAD_COST]", std::to_string(LLAgentBenefitsMgr::current().getTextureUploadCost(w, h)));
+ LLUICtrl *save_btn = findChild<LLUICtrl>("save_btn");
+ if (save_btn)
+ {
+ // Not all snapshot floaters have a save button
+ save_btn->setLabelArg("[UPLOAD_COST]", std::to_string(LLAgentBenefitsMgr::current().getTextureUploadCost(w, h)));
+ }
getChild<LLUICtrl>(getImageSizeComboName())->setCommitCallback(boost::bind(&LLPanelSnapshot::onResolutionComboCommit, this, _1));
if (!getWidthSpinnerName().empty())
{
@@ -193,7 +198,11 @@ void LLPanelSnapshot::updateImageQualityLevel()
quality_lvl = LLTrans::getString("snapshot_quality_very_high");
}
- getChild<LLTextBox>("image_quality_level")->setTextArg("[QLVL]", quality_lvl);
+ LLTextBox* quality_lvl_ctrl = getChild<LLTextBox>("image_quality_level");
+ if (quality_lvl_ctrl)
+ {
+ quality_lvl_ctrl->setTextArg("[QLVL]", quality_lvl);
+ }
}
void LLPanelSnapshot::goBack()
diff --git a/indra/newview/llviewerassetstorage.cpp b/indra/newview/llviewerassetstorage.cpp
index fd462fb225..657fb0ffc1 100644
--- a/indra/newview/llviewerassetstorage.cpp
+++ b/indra/newview/llviewerassetstorage.cpp
@@ -506,7 +506,7 @@ void LLViewerAssetStorage::assetRequestCoro(
if (!gAgent.getRegion()->capabilitiesReceived())
{
- LL_WARNS_ONCE("ViewerAsset") << "Waiting for capabilities" << LL_ENDL;
+ LL_INFOS_ONCE("ViewerAsset") << "Waiting for capabilities" << LL_ENDL;
LLEventStream capsRecv("waitForCaps", true);
@@ -533,8 +533,8 @@ void LLViewerAssetStorage::assetRequestCoro(
return;
}
- LL_WARNS_ONCE("ViewerAsset") << "capsRecv got event" << LL_ENDL;
- LL_WARNS_ONCE("ViewerAsset") << "region " << gAgent.getRegion() << " mViewerAssetUrl " << mViewerAssetUrl << LL_ENDL;
+ LL_INFOS_ONCE("ViewerAsset") << "capsRecv got event" << LL_ENDL;
+ LL_INFOS_ONCE("ViewerAsset") << "region " << gAgent.getRegion() << " mViewerAssetUrl " << mViewerAssetUrl << LL_ENDL;
}
if (mViewerAssetUrl.empty() && gAgent.getRegion())
{
diff --git a/indra/newview/llviewernetwork.cpp b/indra/newview/llviewernetwork.cpp
index 8ec2a6d661..fb52d0a8e6 100644
--- a/indra/newview/llviewernetwork.cpp
+++ b/indra/newview/llviewernetwork.cpp
@@ -135,7 +135,8 @@ void LLGridManager::initialize(const std::string& grid_file)
LLSD other_grids;
llifstream llsd_xml;
- if (!grid_file.empty())
+ // grids.xml is not supplied by default
+ if (!grid_file.empty() && LLFile::isfile(grid_file))
{
LL_INFOS("GridManager")<<"Grid configuration file '"<<grid_file<<"'"<<LL_ENDL;
llsd_xml.open( grid_file.c_str(), std::ios::in | std::ios::binary );
diff --git a/indra/newview/llviewertexture.cpp b/indra/newview/llviewertexture.cpp
index 0f23596c9a..db20658497 100644
--- a/indra/newview/llviewertexture.cpp
+++ b/indra/newview/llviewertexture.cpp
@@ -63,6 +63,8 @@
#include "lltexturecache.h"
#include "llviewerwindow.h"
#include "llwindow.h"
+
+#include <utility>
///////////////////////////////////////////////////////////////////////////////
// statics
@@ -1581,6 +1583,7 @@ bool LLViewerFetchedTexture::createTexture(S32 usename/*= 0*/)
void LLViewerFetchedTexture::postCreateTexture()
{
LL_PROFILE_ZONE_SCOPED_CATEGORY_TEXTURE;
+ mGLTexturep->discardUploadPreparation();
if (!mNeedsCreateTexture)
{
return;
@@ -1679,6 +1682,54 @@ void LLViewerFetchedTexture::scheduleCreateTexture()
unref();
});
}
+ else if (!mGLTexturep->getHasExplicitFormat() &&
+ mGLTexturep->getNeedsAlphaAndPickMask() &&
+ mRawImage->getComponents() != 3)
+ {
+ auto main_queue = mMainQueue.lock();
+ auto general_queue = LL::WorkQueue::getInstance("General");
+ if (main_queue && general_queue)
+ {
+ LLPointer<LLImageRaw> raw_image = mRawImage;
+ ref();
+ const bool posted = main_queue->postTo(
+ general_queue,
+ [raw_image]()
+ {
+ return LLImageGL::prepareForUpload(raw_image);
+ },
+ [this, raw_image](LLImageGL::TextureUploadPreparation preparation)
+ {
+ if (mNeedsCreateTexture)
+ {
+ if (mRawImage == raw_image)
+ {
+ mGLTexturep->applyUploadPreparation(std::move(preparation));
+ }
+ if (!mCreatePending)
+ {
+ mCreatePending = true;
+ gTextureList.mCreateTextureList.push(this);
+ }
+ }
+ unref();
+ });
+ if (!posted)
+ {
+ unref();
+ if (!mCreatePending)
+ {
+ mCreatePending = true;
+ gTextureList.mCreateTextureList.push(this);
+ }
+ }
+ }
+ else if (!mCreatePending)
+ {
+ mCreatePending = true;
+ gTextureList.mCreateTextureList.push(this);
+ }
+ }
else
{
if (!mCreatePending)
@@ -4108,4 +4159,3 @@ void LLTexturePipelineTester::LLTextureTestSession::reset()
//----------------------------------------------------------------------------------------------
//end of LLTexturePipelineTester
//----------------------------------------------------------------------------------------------
-
diff --git a/indra/newview/skins/default/xui/en/floater_about_land.xml b/indra/newview/skins/default/xui/en/floater_about_land.xml
index ffb9c0f78e..eeac4ed25f 100644
--- a/indra/newview/skins/default/xui/en/floater_about_land.xml
+++ b/indra/newview/skins/default/xui/en/floater_about_land.xml
@@ -253,17 +253,9 @@
image_pressed="Info_Press"
image_unselected="Info_Over"
left_pad="3"
- name="info_btn"
+ name="info_btn_owner"
top_delta="-2"
width="16" />
- <!-- <button
- follows="left|top"
- height="23"
- label="Profile"
- layout="topleft"
- left_pad="4"
- name="Profile..."
- width="90" />-->
<text
type="string"
length="1"
@@ -272,11 +264,10 @@
layout="topleft"
left="10"
name="Group:"
- top_pad="7"
+ top_pad="13"
width="100">
Group:
</text>
- <!--TODO: HOOK UP GROUP ICON-->
<text
follows="left|top"
height="16"
@@ -287,15 +278,6 @@
width="240">
TestString PleaseIgnore
</text>
- <button
- follows="right"
- height="23"
- image_pressed="Info_Press"
- image_unselected="Info_Over"
- left_pad="3"
- name="info_btn"
- top_delta="-2"
- width="16" />
<button
follows="left|top"
height="23"
@@ -305,7 +287,7 @@
right="-154"
name="Set..."
width="90"
- top_delta="-2"/>
+ top_delta="-5"/>
<check_box
enabled="false"
height="16"
diff --git a/indra/newview/skins/default/xui/en/floater_snapshot.xml b/indra/newview/skins/default/xui/en/floater_snapshot.xml
index acdccdc03a..7f1a59217f 100644
--- a/indra/newview/skins/default/xui/en/floater_snapshot.xml
+++ b/indra/newview/skins/default/xui/en/floater_snapshot.xml
@@ -226,7 +226,6 @@
Filter:
</text>
<combo_box
- control_name="PhotoFilters"
follows="left|right|top"
name="filters_combobox"
tool_tip="Image filters"