Clean up ScriptCounter code more
This commit is contained in:
@@ -3019,17 +3019,7 @@ void pass_processObjectPropertiesFamily(LLMessageSystem *msg, void**)
|
|||||||
void process_script_running_reply(LLMessageSystem* msg, void** v)
|
void process_script_running_reply(LLMessageSystem* msg, void** v)
|
||||||
{
|
{
|
||||||
LLLiveLSLEditor::processScriptRunningReply(msg, v);
|
LLLiveLSLEditor::processScriptRunningReply(msg, v);
|
||||||
if (ScriptCounter::sCheckMap.size())
|
ScriptCounter::processScriptRunningReply(msg);
|
||||||
{
|
|
||||||
LLUUID item_id;
|
|
||||||
msg->getUUIDFast(_PREHASH_Script, _PREHASH_ItemID, item_id);
|
|
||||||
std::map<LLUUID,ScriptCounter*>::iterator it = ScriptCounter::sCheckMap.find(item_id);
|
|
||||||
if (it != ScriptCounter::sCheckMap.end())
|
|
||||||
{
|
|
||||||
it->second->processRunningReply(msg);
|
|
||||||
ScriptCounter::sCheckMap.erase(it);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void register_viewer_callbacks(LLMessageSystem* msg)
|
void register_viewer_callbacks(LLMessageSystem* msg)
|
||||||
|
|||||||
@@ -165,6 +165,21 @@ void ScriptCounter::inventoryChanged(LLViewerObject* obj, LLInventoryObject::obj
|
|||||||
summarize();
|
summarize();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ScriptCounter::processScriptRunningReply(LLMessageSystem* msg)
|
||||||
|
{
|
||||||
|
if (!sCheckMap.empty())
|
||||||
|
{
|
||||||
|
LLUUID item_id;
|
||||||
|
msg->getUUIDFast(_PREHASH_Script, _PREHASH_ItemID, item_id);
|
||||||
|
auto it = sCheckMap.find(item_id);
|
||||||
|
if (it != sCheckMap.end())
|
||||||
|
{
|
||||||
|
it->second->processRunningReply(msg);
|
||||||
|
sCheckMap.erase(it);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void ScriptCounter::processRunningReply(LLMessageSystem* msg)
|
void ScriptCounter::processRunningReply(LLMessageSystem* msg)
|
||||||
{
|
{
|
||||||
BOOL is;
|
BOOL is;
|
||||||
|
|||||||
@@ -33,19 +33,19 @@
|
|||||||
|
|
||||||
#include "llvoinventorylistener.h"
|
#include "llvoinventorylistener.h"
|
||||||
|
|
||||||
class ScriptCounter : public LLInstanceTracker<ScriptCounter, LLUUID>, public LLVOInventoryListener
|
class ScriptCounter final : public LLInstanceTracker<ScriptCounter, LLUUID>, public LLVOInventoryListener
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
ScriptCounter(bool do_delete, LLViewerObject* object);
|
ScriptCounter(bool do_delete, LLViewerObject* object);
|
||||||
~ScriptCounter();
|
~ScriptCounter();
|
||||||
|
|
||||||
/*virtual*/ void inventoryChanged(LLViewerObject* obj, LLInventoryObject::object_list_t* inv, S32, void*);
|
void inventoryChanged(LLViewerObject* obj, LLInventoryObject::object_list_t* inv, S32, void*) override;
|
||||||
void requestInventories();
|
void requestInventories();
|
||||||
|
static void processScriptRunningReply(LLMessageSystem* msg);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void requestInventoriesFor(LLViewerObject* object);
|
void requestInventoriesFor(LLViewerObject* object);
|
||||||
void requestInventoryFor(LLViewerObject* object);
|
void requestInventoryFor(LLViewerObject* object);
|
||||||
friend void process_script_running_reply(LLMessageSystem* msg, void**);
|
|
||||||
void processRunningReply(LLMessageSystem* msg);
|
void processRunningReply(LLMessageSystem* msg);
|
||||||
void summarize(); // Check if finished, if so, output and destroy.
|
void summarize(); // Check if finished, if so, output and destroy.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user