From 6931f129a2346c799bcb44c8e7ade71c425bf627 Mon Sep 17 00:00:00 2001
From: Josh Bell <josh@lindenlab.com>
Date: Thu, 14 Aug 2008 22:06:38 +0000
Subject: [PATCH] svn merge -r 93885:94413
 svn+ssh://svn.lindenlab.com/svn/linden/branches/Branch_1-24-Server -->
 release

From 1.23:
* DEV-18788 SEC-136: Avatars Link as links instead of sits
* DEV-18754 Instant simulator crash using llUnescapeURL
* QAR-780 Test the viewer crash reporter in branch crashlogger_vc8@92961
* login.cgi foo by billc
* DEV-18732 QA the flow for first landing location change: Help Island + Browser Tutorial
* Added email notification of crashloganalyzer.py failures
* QAR-802 / DEV-19069 - merge maint-webds-1-23 to Branch_1-23-Server
* removed obsolete start-location code

Backport fixes from UPCOMING production branch:
* DEV-19031 Crash in new Mono code when one object rezzes another with active script
* DEV-19050 SVC-2745: llSetLinkPrimitiveParams misbehaving on 1.23 server if avatar is near ground
* DEV-16129 Break getStartLocation timeout apart from rest of teleport request failure metric
* DEV-14270 Add a column to tp metric to differentiate teleports, local teleports, and region_crossings
* DEV-18965 Unable to save scripts when running a sim on windows.
* DEV-17376 some region links in Search teleport you without warning
* DEV-17796 Sim performance decreases a lot with rezzing physical objects
* DEV-19142 SVC-2773: Mono Beta: Script editor "Save" does not save scripts containing syntax errors
* Switched serialized data to a vector instead of a GCed Mono array
* Made update of cache explicit
* Added heartbeats during long derezzes and deletes to stop the launcher killing the sim
* DEV-15010 include agent_id in search metrics
* DEV-15011 Search metrics not including non 'CLASSIFIED' and 'PLACE' search types
* DEV-19288 Broken webservices in 1.24
* DEV-18957 : SCUT : Enable test.py to run tests again a grid database
* Remove leading whitespace to work around bug DEV - 19276 (this is NOT a fix for that bug)

dataserver-is-deprecated-yo
---
 indra/llmessage/llqueryflags.h                    |  2 +-
 indra/lscript/lscript_execute.h                   | 12 ++++++++++++
 indra/lscript/lscript_execute/lscript_execute.cpp |  3 +++
 indra/newview/llassetuploadqueue.cpp              |  2 +-
 indra/newview/llcompilequeue.cpp                  |  2 +-
 indra/newview/llpreviewscript.cpp                 |  6 +++---
 indra/newview/llviewermenu.cpp                    |  2 +-
 indra/newview/llviewerregion.cpp                  |  4 ++--
 indra/test/CMakeLists.txt                         |  1 +
 9 files changed, 25 insertions(+), 9 deletions(-)

diff --git a/indra/llmessage/llqueryflags.h b/indra/llmessage/llqueryflags.h
index 9b3074edca1..cb2302f9b64 100644
--- a/indra/llmessage/llqueryflags.h
+++ b/indra/llmessage/llqueryflags.h
@@ -38,7 +38,7 @@
 const U32 DFQ_PEOPLE			= 0x1 << 0;
 const U32 DFQ_ONLINE			= 0x1 << 1;
 //const U32 DFQ_PLACES			= 0x1 << 2;
-const U32 DFQ_EVENTS			= 0x1 << 3;
+const U32 DFQ_EVENTS			= 0x1 << 3; // This is not set by the 1.21 viewer, but I don't know about older versions. JC
 const U32 DFQ_GROUPS			= 0x1 << 4;
 const U32 DFQ_DATE_EVENTS		= 0x1 << 5;
 
diff --git a/indra/lscript/lscript_execute.h b/indra/lscript/lscript_execute.h
index f46256eb5e9..271b53aae18 100644
--- a/indra/lscript/lscript_execute.h
+++ b/indra/lscript/lscript_execute.h
@@ -443,6 +443,12 @@ class LLScriptExecute
 	void setReset(BOOL b) {mReset = b;}
 	BOOL getReset() const { return mReset; }
 
+	// Called when the script is scheduled to be run from newsim/LLScriptData
+	virtual void startRunning() = 0;
+
+	// Called when the script is scheduled to be stopped from newsim/LLScriptData
+	virtual void stopRunning() = 0;
+	
 private:
 
 	BOOL mReset;
@@ -523,6 +529,12 @@ class LLScriptExecuteLSL2 : public LLScriptExecute
 private:
 	void		recordBoundaryError( const LLUUID &id );
 	void		setStateEventOpcoodeStartSafely( S32 state, LSCRIPTStateEventType event, const LLUUID &id );
+
+	// Called when the script is scheduled to be run from newsim/LLScriptData
+	virtual void startRunning();
+
+	// Called when the script is scheduled to be stopped from newsim/LLScriptData
+	virtual void stopRunning();
 };
 
 #endif
diff --git a/indra/lscript/lscript_execute/lscript_execute.cpp b/indra/lscript/lscript_execute/lscript_execute.cpp
index e863c1668e3..fe2167aec83 100644
--- a/indra/lscript/lscript_execute/lscript_execute.cpp
+++ b/indra/lscript/lscript_execute/lscript_execute.cpp
@@ -60,6 +60,9 @@ const char* LSCRIPTRunTimeFaultStrings[LSRF_EOF] =		/*Flawfinder: ignore*/
 	"CLI Exception" // LSRF_CLI
 };
 
+void LLScriptExecuteLSL2::startRunning() {}
+void LLScriptExecuteLSL2::stopRunning() {}
+
 LLScriptExecuteLSL2::LLScriptExecuteLSL2(LLFILE *fp)
 {
 	U8  sizearray[4];
diff --git a/indra/newview/llassetuploadqueue.cpp b/indra/newview/llassetuploadqueue.cpp
index c52c189d56c..34dc65f1682 100644
--- a/indra/newview/llassetuploadqueue.cpp
+++ b/indra/newview/llassetuploadqueue.cpp
@@ -150,7 +150,7 @@ void LLAssetUploadQueue::request(LLAssetUploadQueueSupplier** supplier)
 	LLViewerObject* object = gObjectList.findObject(data.mTaskId);
 	if (object)
 	{
-		url = object->getRegion()->getCapability("UpdateScriptTaskInventory");
+		url = object->getRegion()->getCapability("UpdateScriptTask");
 		LLHTTPClient::post(url, body,
 							new LLAssetUploadChainResponder(
 								body, data.mFilename, data.mQueueId, 
diff --git a/indra/newview/llcompilequeue.cpp b/indra/newview/llcompilequeue.cpp
index 30d5dc206f1..d3041c6206d 100644
--- a/indra/newview/llcompilequeue.cpp
+++ b/indra/newview/llcompilequeue.cpp
@@ -422,7 +422,7 @@ void LLFloaterCompileQueue::scriptArrived(LLVFS *vfs, const LLUUID& asset_id,
 		LLViewerObject* object = gObjectList.findObject(data->mTaskId);
 		if (object)
 		{
-			std::string url = object->getRegion()->getCapability("UpdateScriptTaskInventory");
+			std::string url = object->getRegion()->getCapability("UpdateScriptTask");
 			if(!url.empty())
 			{
 				// Read script source in to buffer.
diff --git a/indra/newview/llpreviewscript.cpp b/indra/newview/llpreviewscript.cpp
index 71733e5cd7e..c6c0fb21a8d 100644
--- a/indra/newview/llpreviewscript.cpp
+++ b/indra/newview/llpreviewscript.cpp
@@ -142,7 +142,7 @@ const F32 LIVE_HELP_REFRESH_TIME = 1.f;
 static bool have_script_upload_cap(LLUUID& object_id)
 {
 	LLViewerObject* object = gObjectList.findObject(object_id);
-	return object && (! object->getRegion()->getCapability("UpdateScriptTaskInventory").empty());
+	return object && (! object->getRegion()->getCapability("UpdateScriptTask").empty());
 }
 
 /// ---------------------------------------------------------------------------
@@ -1291,7 +1291,7 @@ void LLPreviewLSL::saveIfNeeded()
 
 	const LLInventoryItem *inv_item = getItem();
 	// save it out to asset server
-	std::string url = gAgent.getRegion()->getCapability("UpdateScriptAgentInventory");
+	std::string url = gAgent.getRegion()->getCapability("UpdateScriptAgent");
 	if(inv_item)
 	{
 		getWindow()->incBusyCount();
@@ -2131,7 +2131,7 @@ void LLLiveLSLEditor::saveIfNeeded()
 	fp = NULL;
 	
 	// save it out to asset server
-	std::string url = object->getRegion()->getCapability("UpdateScriptTaskInventory");
+	std::string url = object->getRegion()->getCapability("UpdateScriptTask");
 	getWindow()->incBusyCount();
 	mPendingUploads++;
 	BOOL is_running = getChild<LLCheckBoxCtrl>( "running")->get();
diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp
index 52cbcf85a9f..af16bdd201f 100644
--- a/indra/newview/llviewermenu.cpp
+++ b/indra/newview/llviewermenu.cpp
@@ -6513,7 +6513,7 @@ class LLEditableSelectedMono : public view_listener_t
 		LLViewerRegion* region = gAgent.getRegion();
 		if(region && gMenuHolder && gMenuHolder->findControl(userdata["control"].asString()))
 		{
-			bool have_cap = (! region->getCapability("UpdateScriptTaskInventory").empty());
+			bool have_cap = (! region->getCapability("UpdateScriptTask").empty());
 			bool selected = is_editable_selected() && have_cap;
 			gMenuHolder->findControl(userdata["control"].asString())->setValue(selected);
 			return true;
diff --git a/indra/newview/llviewerregion.cpp b/indra/newview/llviewerregion.cpp
index 42ea36baec8..bfb082885ce 100644
--- a/indra/newview/llviewerregion.cpp
+++ b/indra/newview/llviewerregion.cpp
@@ -1408,10 +1408,10 @@ void LLViewerRegion::setSeedCapability(const std::string& url)
 	capabilityNames.append("UpdateAgentLanguage");
 	capabilityNames.append("UpdateGestureAgentInventory");
 	capabilityNames.append("UpdateNotecardAgentInventory");
-	capabilityNames.append("UpdateScriptAgentInventory");
+	capabilityNames.append("UpdateScriptAgent");
 	capabilityNames.append("UpdateGestureTaskInventory");
 	capabilityNames.append("UpdateNotecardTaskInventory");
-	capabilityNames.append("UpdateScriptTaskInventory");
+	capabilityNames.append("UpdateScriptTask");
 	capabilityNames.append("ViewerStartAuction");
 	capabilityNames.append("UntrustedSimulatorMessage");
 	capabilityNames.append("ViewerStats");
diff --git a/indra/test/CMakeLists.txt b/indra/test/CMakeLists.txt
index 03c4731de5f..37ad170467a 100644
--- a/indra/test/CMakeLists.txt
+++ b/indra/test/CMakeLists.txt
@@ -143,6 +143,7 @@ if (EXISTS /etc/debian_version_FAIL)
       --mode=static
       --output=${CMAKE_CURRENT_BINARY_DIR}/py_test_results.txt
       --touch=${CMAKE_CURRENT_BINARY_DIR}/py_tests_ok.txt
+      --mode=static
     DEPENDS test.py
     WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
     COMMENT "Python unit tests"
-- 
GitLab