summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorErik Kundiman <erik@megapahit.org>2025-10-03 20:10:31 +0800
committerErik Kundiman <erik@megapahit.org>2025-10-03 20:19:58 +0800
commit88cdce3f8e30c393d8e1979629162442adeac203 (patch)
tree8b82c0f37cd11cb413610f09943d9f5f0caaa143 /indra/newview
parent2b610653c8a7b090c677d515894af7318f81ac18 (diff)
parent79909b8a335b9fdeaefe384528284538e8dae6a4 (diff)
Merge tag 'Second_Life_Release#79909b8a-2025.07' into 2025.07
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/llfloatersearch.cpp36
-rw-r--r--indra/newview/llvoicewebrtc.cpp10
-rw-r--r--indra/newview/pipeline.cpp2
3 files changed, 27 insertions, 21 deletions
diff --git a/indra/newview/llfloatersearch.cpp b/indra/newview/llfloatersearch.cpp
index 9762154a26..8e6a47dce5 100644
--- a/indra/newview/llfloatersearch.cpp
+++ b/indra/newview/llfloatersearch.cpp
@@ -44,8 +44,22 @@ class LLSearchHandler : public LLCommandHandler {
bool handle(const LLSD& tokens, const LLSD& query_map, const std::string& grid, LLMediaCtrl* web) {
const size_t parts = tokens.size();
+ // get the (optional) category for the search
+ std::string collection;
+ if (parts > 0)
+ {
+ collection = tokens[0].asString();
+ }
+
+ // get the (optional) search string
+ std::string search_text;
+ if (parts > 1)
+ {
+ search_text = tokens[1].asString();
+ }
+
// open the search floater and perform the requested search
- LLFloaterReg::showInstance("search", tokens);
+ LLFloaterReg::showInstance("search", llsd::map("collection", collection,"query", search_text));
return true;
}
};
@@ -84,25 +98,11 @@ void LLFloaterSearch::initiateSearch(const LLSD& tokens)
// substituted into the final URL using the logic from the original search.
subs["TYPE"] = "standard";
- const size_t parts = tokens.size();
+ std::string collection = tokens.has("collection") ? tokens["collection"].asString() : "";
- // get the (optional) category for the search
- std::string collection;
- if (parts > 0)
- {
- collection = tokens[0].asString();
- }
-
- // get the (optional) search string
- std::string search_text;
- if (parts > 1)
- {
- search_text = tokens[1].asString();
- }
+ std::string search_text = tokens.has("query") ? tokens["query"].asString() : "";
- // TODO: where does category get set? I cannot find a reference to
- // it in internal docs - might be conflated with values in mSearchType
- std::string category;
+ std::string category = tokens.has("category") ? tokens["category"].asString() : "";
if (mSearchType.find(category) != mSearchType.end())
{
subs["TYPE"] = category;
diff --git a/indra/newview/llvoicewebrtc.cpp b/indra/newview/llvoicewebrtc.cpp
index a56305599d..39a0671bb2 100644
--- a/indra/newview/llvoicewebrtc.cpp
+++ b/indra/newview/llvoicewebrtc.cpp
@@ -691,7 +691,10 @@ LLVoiceDeviceList& LLWebRTCVoiceClient::getCaptureDevices()
void LLWebRTCVoiceClient::setCaptureDevice(const std::string& name)
{
- mWebRTCDeviceInterface->setCaptureDevice(name);
+ if (mWebRTCDeviceInterface)
+ {
+ mWebRTCDeviceInterface->setCaptureDevice(name);
+ }
}
void LLWebRTCVoiceClient::setDevicesListUpdated(bool state)
{
@@ -778,7 +781,10 @@ LLVoiceDeviceList& LLWebRTCVoiceClient::getRenderDevices()
void LLWebRTCVoiceClient::setRenderDevice(const std::string& name)
{
- mWebRTCDeviceInterface->setRenderDevice(name);
+ if (mWebRTCDeviceInterface)
+ {
+ mWebRTCDeviceInterface->setRenderDevice(name);
+ }
}
void LLWebRTCVoiceClient::tuningStart()
diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp
index 39ac1aff07..8b0890a367 100644
--- a/indra/newview/pipeline.cpp
+++ b/indra/newview/pipeline.cpp
@@ -888,7 +888,7 @@ bool LLPipeline::allocateScreenBufferInternal(U32 resX, U32 resY, U32 type_)
GLuint screenFormat = GL_RGBA16F;
if(!hdr && !mHDRDisplay && MPColorPrecision == 1) screenFormat = GL_RGB8;
- if (!mRT->screen.allocate(resX, resY, screenFormat)) return false;
+ if (!mRT->screen.allocate(resX, resY, GL_RGBA16F)) return false;
mRT->deferredScreen.shareDepthBuffer(mRT->screen);