diff --git a/autobuild.xml b/autobuild.xml
index fae62987e7..011fbf7526 100644
--- a/autobuild.xml
+++ b/autobuild.xml
@@ -1834,9 +1834,9 @@
archive
name
darwin
@@ -1846,9 +1846,9 @@
archive
name
darwin64
diff --git a/indra/newview/fs_viewer_manifest.py b/indra/newview/fs_viewer_manifest.py
index ac01817eea..69871cd653 100644
--- a/indra/newview/fs_viewer_manifest.py
+++ b/indra/newview/fs_viewer_manifest.py
@@ -103,11 +103,11 @@ class FSViewerManifest:
self.run_command_shell( "cd %s && objcopy --add-gnu-debuglink=%s %s" % (debugDir, debugName, fileBin) )
- if( os.path.exists( "%s/firestorm-symbols-linux.tar.bz2" % self.args['configuration'].lower()) ):
- symName = "%s/Phoenix_%s_%s_%s_symbols-linux.tar.bz2" % ( self.args['configuration'].lower(), self.fs_channel_legacy_oneword(),
- '-'.join( self.args['version'] ), self.args['viewer_flavor'] )
+ if( os.path.exists( "%s/firestorm-symbols-linux-%d.tar.bz2" % (self.args['configuration'].lower(), self.address_size)) ):
+ symName = "%s/Phoenix_%s_%s_%s_symbols-linux-%d.tar.bz2" % ( self.args['configuration'].lower(), self.fs_channel_legacy_oneword(),
+ '-'.join( self.args['version'] ), self.args['viewer_flavor'], self.address_size )
print( "Saving symbols %s" % symName )
- os.rename("%s/firestorm-symbols-linux.tar.bz2" % self.args['configuration'].lower(), symName )
+ os.rename("%s/firestorm-symbols-linux-%d.tar.bz2" % (self.args['configuration'].lower(), self.address_size), symName )
def fs_linux_tar_excludes(self):
return "--exclude core --exclude .debug/* --exclude .debug"
@@ -115,17 +115,19 @@ class FSViewerManifest:
def fs_save_windows_symbols(self, substitution_strings):
#AO: Try to package up symbols
# New Method, for reading cross platform stack traces on a linux/mac host
- if (os.path.exists("%s/firestorm-symbols-windows.tar.bz2" % self.args['configuration'].lower())):
+ if (os.path.exists("%s/firestorm-symbols-windows-%d.tar.bz2" % (self.args['configuration'].lower(),
+ self.address_size))):
# Rename to add version numbers
- sName = "%s/Phoenix_%s_%s_%s_symbols-windows.tar.bz2" % (self.args['configuration'].lower(),
+ sName = "%s/Phoenix_%s_%s_%s_symbols-windows-%d.tar.bz2" % (self.args['configuration'].lower(),
self.fs_channel_legacy_oneword(),
substitution_strings['version_dashes'],
- self.args['viewer_flavor'])
+ self.args['viewer_flavor'],
+ self.address_size)
if os.path.exists( sName ):
os.unlink( sName )
- os.rename("%s/firestorm-symbols-windows.tar.bz2" % self.args['configuration'].lower(), sName )
+ os.rename("%s/firestorm-symbols-windows-%d.tar.bz2" % (self.args['configuration'].lower(), self.address_size), sName )
pdbName = "firestorm-bin.pdb"
try:
@@ -141,10 +143,11 @@ class FSViewerManifest:
# Store windows symbols we want to keep for debugging in a tar file, this will be later compressed with xz (lzma)
# Using tat+xz gives far superior compression than zip (~half the size of the zip archive).
# Python3 natively supports tar+xz via mode 'w:xz'. But we're stuck with Python2 for now.
- symbolTar = tarfile.TarFile("%s/Phoenix_%s_%s_%s_pdbsymbols-windows.tar" % (self.args['configuration'].lower(),
+ symbolTar = tarfile.TarFile("%s/Phoenix_%s_%s_%s_pdbsymbols-windows-%d.tar" % (self.args['configuration'].lower(),
self.fs_channel_legacy_oneword(),
substitution_strings['version_dashes'],
- self.args['viewer_flavor']),
+ self.args['viewer_flavor'],
+ self.address_size),
'w')
symbolTar.add( "%s/Firestorm-bin.exe" % self.args['configuration'].lower(), "firestorm-bin.exe" )
symbolTar.add( "%s/%s" % (self.args['configuration'].lower(),pdbName), pdbName )
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index 4f817a9f0d..84c7046fb7 100644
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -1144,10 +1144,11 @@ bool LLAppViewer::init()
if (!initCache())
{
+ LL_WARNS("InitInfo") << "Failed to init cache" << LL_ENDL;
std::ostringstream msg;
msg << LLTrans::getString("MBUnableToAccessFile");
OSMessageBox(msg.str(),LLStringUtil::null,OSMB_OK);
- return 1;
+ return 0;
}
LL_INFOS("InitInfo") << "Cache initialization is done." << LL_ENDL ;
@@ -1691,7 +1692,7 @@ bool LLAppViewer::doFrame()
// Render scene.
// *TODO: Should we run display() even during gHeadlessClient? DK 2011-02-18
- if (!LLApp::isExiting() && !gHeadlessClient)
+ if (!LLApp::isExiting() && !gHeadlessClient && gViewerWindow)
{
pingMainloopTimeout("Main:Display");
gGLActive = TRUE;
diff --git a/indra/newview/llimprocessing.cpp b/indra/newview/llimprocessing.cpp
index b1976a48ab..3c2aef2b88 100644
--- a/indra/newview/llimprocessing.cpp
+++ b/indra/newview/llimprocessing.cpp
@@ -2109,7 +2109,7 @@ void LLIMProcessing::requestOfflineMessagesCoro(std::string url)
if (!status) // success = httpResults["success"].asBoolean();
{
- LL_WARNS() << "Error requesting offline messages via capability " << url << ", Status: " << status.toString() << "\nFalling back to legacy method." << LL_ENDL;
+ LL_WARNS("Messaging") << "Error requesting offline messages via capability " << url << ", Status: " << status.toString() << "\nFalling back to legacy method." << LL_ENDL;
requestOfflineMessagesLegacy();
return;
@@ -2119,10 +2119,11 @@ void LLIMProcessing::requestOfflineMessagesCoro(std::string url)
if (!contents.size())
{
- LL_WARNS() << "No contents received for offline messages via capability " << url << LL_ENDL;
+ LL_WARNS("Messaging") << "No contents received for offline messages via capability " << url << LL_ENDL;
return;
}
+ // Todo: once dirtsim-369 releases, remove one of the map/array options
LLSD messages;
if (contents.isArray())
{
@@ -2134,16 +2135,24 @@ void LLIMProcessing::requestOfflineMessagesCoro(std::string url)
}
else
{
- LL_WARNS() << "Invalid offline message content received via capability " << url << LL_ENDL;
+ LL_WARNS("Messaging") << "Invalid offline message content received via capability " << url << LL_ENDL;
return;
}
if (!messages.isArray())
{
- LL_WARNS() << "Invalid offline message content received via capability " << url << LL_ENDL;
+ LL_WARNS("Messaging") << "Invalid offline message content received via capability " << url << LL_ENDL;
return;
}
+ if (messages.emptyArray())
+ {
+ // Nothing to process
+ return;
+ }
+
+ LL_INFOS("Messaging") << "Processing offline messages." << LL_ENDL;
+
std::vector data;
S32 binary_bucket_size = 0;
LLHost sender = gAgent.getRegion()->getHost();
@@ -2156,10 +2165,21 @@ void LLIMProcessing::requestOfflineMessagesCoro(std::string url)
LLVector3 position(message_data["local_x"].asReal(), message_data["local_y"].asReal(), message_data["local_z"].asReal());
data = message_data["binary_bucket"].asBinary();
binary_bucket_size = data.size(); // message_data["count"] == data.size() - 1 due to ('\0')
- U32 parent_estate_id = message_data.has("parent_estate_id") ? message_data["ParentEstateID"].asInteger() : 1; // 1 - IMMainland
+ U32 parent_estate_id = message_data.has("parent_estate_id") ? message_data["parent_estate_id"].asInteger() : 1; // 1 - IMMainland
+
+ // Todo: once dirtsim-369 releases, remove one of the int/str options
+ BOOL from_group;
+ if (message_data["from_group"].isInteger())
+ {
+ from_group = message_data["from_group"].asInteger();
+ }
+ else
+ {
+ from_group = message_data["from_group"].asString() == "Y";
+ }
LLIMProcessing::processNewMessage(message_data["from_agent_id"].asUUID(),
- message_data["from_group"].asInteger(), // BOOL
+ from_group,
message_data["to_agent_id"].asUUID(),
IM_OFFLINE,
(EInstantMessage)message_data["dialog"].asInteger(),
@@ -2178,6 +2198,8 @@ void LLIMProcessing::requestOfflineMessagesCoro(std::string url)
void LLIMProcessing::requestOfflineMessagesLegacy()
{
+ LL_INFOS("Messaging") << "Requesting offline messages (Legacy)." << LL_ENDL;
+
LLMessageSystem* msg = gMessageSystem;
msg->newMessageFast(_PREHASH_RetrieveInstantMessages);
msg->nextBlockFast(_PREHASH_AgentData);
diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp
index ccb473d825..f91f263c6f 100644
--- a/indra/newview/llstartup.cpp
+++ b/indra/newview/llstartup.cpp
@@ -557,6 +557,13 @@ void set_flags_and_update_appearance()
// true when all initialization done.
bool idle_startup()
{
+ if (gViewerWindow == NULL)
+ {
+ // We expect window to be initialized
+ LL_WARNS_ONCE() << "gViewerWindow is not initialized" << LL_ENDL;
+ return false; // No world yet
+ }
+
const F32 PRECACHING_DELAY = gSavedSettings.getF32("PrecachingDelay");
static LLTimer timeout;
diff --git a/indra/newview/skins/default/xui/en/floater_my_appearance.xml b/indra/newview/skins/default/xui/en/floater_my_appearance.xml
index c2a5943982..6dd3a45602 100644
--- a/indra/newview/skins/default/xui/en/floater_my_appearance.xml
+++ b/indra/newview/skins/default/xui/en/floater_my_appearance.xml
@@ -13,7 +13,7 @@
reuse_instance="true"
title="Appearance"
min_height="200"
- min_width="325"
+ min_width="351"
width="333">