SH-3860 WIP, SH-3899 WIP - make folder version management more debuggable, log appearance request results

meow-7.2.2
Brad Payne (Vir Linden) 2013-02-25 19:12:36 -05:00
parent b6f814af25
commit b16dcda6a3
10 changed files with 55 additions and 18 deletions

0
indra/llcommon/llsdutil.cpp Normal file → Executable file
View File

View File

@ -4292,10 +4292,6 @@ void LLAgent::requestLeaveGodMode()
sendReliableMessage();
}
extern void dump_visual_param(apr_file_t* file, LLVisualParam* viewer_param, F32 value);
extern std::string get_sequential_numbered_file_name(const std::string& prefix,
const std::string& suffix);
// For debugging, trace agent state at times appearance message are sent out.
void LLAgent::dumpSentAppearance(const std::string& dump_prefix)
{

View File

@ -50,6 +50,7 @@
#include "llviewerregion.h"
#include "llwearablelist.h"
#include "llsdutil.h"
#include "llsdserialize.h"
std::string self_av_string()
{
@ -3049,6 +3050,10 @@ public:
if (content["success"].asBoolean())
{
LL_DEBUGS("Avatar") << "OK" << LL_ENDL;
if (gSavedSettings.getBOOL("DebugAvatarAppearanceMessage"))
{
dumpContents("appearance_request_ok", content);
}
}
else
{
@ -3056,11 +3061,23 @@ public:
}
}
void dumpContents(const std::string outprefix, const LLSD& content)
{
std::string outfilename = get_sequential_numbered_file_name(outprefix,".xml");
std::string fullpath = gDirUtilp->getExpandedFilename(LL_PATH_LOGS,outfilename);
std::ofstream ofs(fullpath);
ofs << LLSDOStreamer<LLSDXMLFormatter>(content, LLSDFormatter::OPTIONS_PRETTY);
LL_DEBUGS("Avatar") << "results saved to: " << fullpath << LL_ENDL;
}
// Error
/*virtual*/ void errorWithContent(U32 status, const std::string& reason, const LLSD& content)
{
llwarns << "appearance update request failed, status: " << status << " reason: " << reason << llendl;
LL_DEBUGS("Avatar") << "content: " << ll_pretty_print_sd(content) << LL_ENDL;
llwarns << "appearance update request failed, status: " << status << " reason: " << reason << " code: " << content["code"].asInteger() << " error: \"" << content["error"].asString() << "\"" << llendl;
if (gSavedSettings.getBOOL("DebugAvatarAppearanceMessage"))
{
dumpContents("appearance_request_error", content);
}
onFailure(status);
}
@ -3095,6 +3112,7 @@ void LLAppearanceMgr::requestServerAppearanceUpdate(LLCurl::ResponderPtr respond
if (!gAgent.getRegion())
{
llwarns << "Region not set, cannot request server appearance update" << llendl;
return;
}
if (gAgent.getRegion()->getCentralBakeVersion()==0)
{
@ -3110,7 +3128,7 @@ void LLAppearanceMgr::requestServerAppearanceUpdate(LLCurl::ResponderPtr respond
LLSD body;
S32 cof_version = getCOFVersion();
body["cof_version"] = cof_version;
LL_DEBUGS("Avatar") << "my_cof_version " << cof_version << llendl;
LL_DEBUGS("Avatar") << "request url " << url << " my_cof_version " << cof_version << llendl;
//LLCurl::ResponderPtr responder_ptr;
if (!responder_ptr.get())

View File

@ -1922,7 +1922,18 @@ bool LLInventoryModel::loadSkeleton(
for(cat_set_t::iterator it = temp_cats.begin(); it != temp_cats.end(); ++it)
{
LLViewerInventoryCategory *llvic = (*it);
#if 1
llvic->setVersion(NO_VERSION);
#else
if (llvic->getPreferredType()==LLFolderType::FT_CURRENT_OUTFIT && llvic->getVersion()==1)
{
llinfos << "preserving empty COF for first-time login" << llendl;
}
else
{
llvic->setVersion(NO_VERSION);
}
#endif
addCategory(*it);
}
}

0
indra/newview/llstartup.cpp Normal file → Executable file
View File

View File

@ -592,7 +592,7 @@ void LLViewerInventoryCategory::copyViewerCategory(const LLViewerInventoryCatego
{
copyCategory(other);
mOwnerID = other->mOwnerID;
mVersion = other->mVersion;
setVersion(other->getVersion());
mDescendentCount = other->mDescendentCount;
mDescendentsRequested = other->mDescendentsRequested;
}
@ -660,9 +660,19 @@ void LLViewerInventoryCategory::removeFromServer( void )
gAgent.sendReliableMessage();
}
S32 LLViewerInventoryCategory::getVersion() const
{
return mVersion;
}
void LLViewerInventoryCategory::setVersion(S32 version)
{
mVersion = version;
}
bool LLViewerInventoryCategory::fetch()
{
if((VERSION_UNKNOWN == mVersion)
if((VERSION_UNKNOWN == getVersion())
&& mDescendentsRequested.hasExpired()) //Expired check prevents multiple downloads.
{
LL_DEBUGS("InventoryFetch") << "Fetching category children: " << mName << ", UUID: " << mUUID << LL_ENDL;
@ -1127,6 +1137,11 @@ void link_inventory_item(
}
}
#if 1 // debugging stuff
LLViewerInventoryCategory* cat = gInventory.getCategory(parent_id);
lldebugs << "cat: " << cat << llendl;
#endif
LLMessageSystem* msg = gMessageSystem;
msg->newMessageFast(_PREHASH_LinkInventoryItem);
msg->nextBlock(_PREHASH_AgentData);

View File

@ -205,8 +205,8 @@ public:
// Version handling
enum { VERSION_UNKNOWN = -1, VERSION_INITIAL = 1 };
S32 getVersion() const { return mVersion; }
void setVersion(S32 version) { mVersion = version; }
S32 getVersion() const;
void setVersion(S32 version);
// Returns true if a fetch was issued.
bool fetch();

View File

@ -190,11 +190,6 @@ enum ERenderName
RENDER_NAME_FADE
};
// Utility func - FIXME move out of avatar.
std::string get_sequential_numbered_file_name(const std::string& prefix,
const std::string& suffix);
//-----------------------------------------------------------------------------
// Callback data
//-----------------------------------------------------------------------------

View File

@ -980,5 +980,9 @@ protected: // Shared with LLVOAvatarSelf
extern const F32 SELF_ADDITIONAL_PRI;
extern const S32 MAX_TEXTURE_VIRTURE_SIZE_RESET_INTERVAL;
std::string get_sequential_numbered_file_name(const std::string& prefix,
const std::string& suffix);
void dump_visual_param(apr_file_t* file, LLVisualParam* viewer_param, F32 value);
#endif // LL_VOAVATAR_H

View File

@ -3049,8 +3049,6 @@ void LLVOAvatarSelf::dumpScratchTextureByteCount()
llinfos << "Scratch Texture GL: " << (sScratchTexBytes/1024) << "KB" << llendl;
}
void dump_visual_param(apr_file_t* file, LLVisualParam* viewer_param, F32 value);
void LLVOAvatarSelf::dumpWearableInfo(LLAPRFile& outfile)
{
apr_file_t* file = outfile.getFileHandle();